### JAVA-WEB学习笔记知识点详解
#### 一、Tomcat配置与环境搭建
**1. Tomcat 安装步骤:**
- **安装 JDK:** 在安装 Tomcat 之前,需要先安装 JDK (Java Development Kit)。这里以 JDK 1.5 为例。
- 下载并安装 JDK 至指定目录(例如: `C:\Program Files\Java\j2sdk1.5.0`)。
- **配置环境变量 JAVA_HOME:** 设置环境变量 `JAVA_HOME` 为 JDK 的安装路径,例如: `C:\Program Files\Java\j2sdk1.5.0`。
- **配置 CLASSPATH:** 设置环境变量 `CLASSPATH` 包含 JDK 的 JRE 和相关工具库,例如: `.; C:\Program Files\Java\j2sdk1.5.0\jre\lib;C:\Program Files\Java\j2sdk1.5.0\lib\tools.jar; C:\Program Files\Java\j2sdk1.5.0\lib\rt.jar;`。
- **配置 PATH:** 设置环境变量 `PATH` 包含 JDK 的 bin 目录路径,例如: `C:\Program Files\Java\j2sdk1.5.0\bin`。
- **安装 Tomcat:**
- 下载并解压 Tomcat 的安装包到指定目录。
- 确保 JDK 已经正确安装并且环境变量已经设置完毕。
**2. 手工配置虚拟路径:**
- 默认情况下,Tomcat 的 web 应用程序部署在 `C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT`。
- 若要修改部署路径,可以按照以下步骤操作:
- 创建一个新的文件夹,例如命名为 `test`。
- 在该文件夹内创建一个名为 `WEB-INF` 的子文件夹。
- 将 `web.xml` 文件放置于 `WEB-INF` 文件夹下。
- 修改 `C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.xml` 文件中的 `<Host>` 标签内,添加新的 `<Context>` 配置项来定义虚拟路径:
```xml
<Context path="/虚拟路径" docBase="绝对路径" />
```
- 其中 `/虚拟路径` 是访问该应用程序的 URL 前缀。
- `docBase` 属性是指定该应用程序的实际物理路径。
#### 二、JSP 基本语法
**1. 注释:**
- **显式注释:** 使用 `<%- - 注释内容 - ->`。
- **隐式注释:** 使用 `JAVA 注释` 或者 `JSP 注释`,其中:
- `JAVA 注释:` 单行注释使用 `//`,多行注释使用 `/* 注释内容 */`。
- `JSP 注释:` 使用 `<%-- 注释内容 --%>`。
**2. `<%! %>`:** 用于声明全局变量、方法或类。
**3. `<%= 表达式%>:** 类似于 `out.println()`,用于在页面中输出表达式的值。
**4. From 表单的方法:**
- **POST 方法:** 提交内容不会在地址栏中显示,并且没有长度限制。
- 示例: `<form action="转向页面" method="post">...</form>`
- **GET 方法:** 提交内容会在地址栏中显示,但长度有限制(通常为 4-5K 字符)。
- 示例: `<form action="转向页面" method="get">...</form>`
**5. Page 指令:**
- 导入包: `<%page import="java.util.*,java.sql.*" %>`.
- 设置页面类型: `<%page contentType="text/html;charset=gb2312" %>`
**6. HTML 语言设置:**
- 示例: `<meta http-equiv="Content-Type" content="text/html; charset=gb2312" >`
**7. JSP 跳转指令:**
- `<jsp:forward page="url"/>` 用于无条件跳转。
- `<jsp:param name="ref" value=""/>` 用于传递参数。
**8. JSP 包含指令:**
- `<%@ include file="incl.jsp" %>` 用于静态包含,即先包含后处理。
- `<jsp:include page="incl.jsp">` 用于动态包含,即先处理后包含。
**9. 接收参数:**
- 使用 `request.getParameter("参数名")` 来接收表单提交的参数。
**10. JSP 的四种属性范围:**
- **Page Scope:** 通过 `pageContext.setAttribute("name","ML")` 设置,仅在当前页面有效。
- **Request Scope:** 通过 `request.setAttribute("name","ML")` 设置,在 `forward` 跳转时仍然有效。
- **Session Scope:** 通过 `session.setAttribute("name","ML")` 设置,在一次会话期间有效。
- `session.invalidate()` 用于使会话失效。
- `session.getId()` 用于获取会话 ID。
- **Application Scope:** 通过 `application.setAttribute("name","ML")` 设置,在整个应用服务器范围内有效。
**11. JSP 控件显示乱码解决:**
- 为了防止 JSP 页面出现乱码问题,可以在 `<%@ page %>` 指令中设置正确的字符集编码,例如:
- `<%page contentType="text/html;charset=UTF-8" %>`
以上是对 JAVA-WEB 学习笔记中的知识点进行的详细总结与解释。这些内容涵盖了从环境搭建到基本语法的学习,对于初学者来说是非常宝贵的学习资料。通过深入理解这些概念,可以帮助开发者更好地掌握 Java Web 开发的基本技能。