JSP基础与执行过程详解

需积分: 9 2 下载量 11 浏览量 更新于2024-07-13 收藏 528KB PPT 举报
"本资源是一份关于JSP基础的课件,涵盖了JSP的基本概念、执行过程、以及与HTTP请求响应相关的知识。通过实例展示了JSP如何处理客户端的请求,并演示了如何从HTTP请求中获取参数。" 在JSP(Java Server Pages)技术中,它是动态网页开发的一种方式,允许开发者在HTML页面中嵌入Java代码,从而实现服务器端的逻辑处理。JSP的基础知识主要包括以下几个方面: 1. **JSP文件结构**:JSP文件通常以`.jsp`为扩展名,它可以在HTML代码中包含Java脚本元素和指令。如示例中的`<%@ page ... %>`, `<%! ... %>`, `<% ... %>`, 和`<%= ... %>`。 2. **JSP执行过程**:当客户端请求一个JSP页面时,服务器首先会将JSP转换为一个Java Servlet。这个过程包括解析JSP文件(JSP Parser)、生成Servlet源代码,然后使用JDK(Java Development Kit)编译成Servlet类的字节码。如果Servlet已经存在并且没有被修改,服务器会直接使用缓存的版本;否则,会重新编译并执行。 3. **HTTP请求与响应**:在示例中,`request`和`response`对象是Servlet API中的核心组件。`request`对象用于接收来自客户端的请求信息,如表单数据。例如,`request.getParameter("id")`和`request.getParameter("pwd")`用于获取表单字段的值。`response`对象则负责构造并返回到客户端的响应,可以设置内容类型(如`response.setContentType("text/html; charset=gb2312")`)并输出内容(如使用`out.println()`)。 4. **JSP元素**: - **指令(Directives)**:比如`<%@ page ... %>`,用于设置整个JSP页面的属性,如导入类库(`import`),设置字符编码(`contentType`)等。 - **脚本元素(Scriptlets)**:`<%...%>`,用于插入Java代码,如示例中的`Date today=new Date();`。 - **表达式(Expressions)**:`<%=...%>`,用于将Java表达式的值插入到输出流中,如`<%=today.getDate()%>`。 - **声明(Declarations)**:`<%!...%>`,用于声明变量或方法,它们在JSP转换成的Servlet类中作为成员变量或方法。 5. **HTTP请求方法**:示例提到了两种常见的HTTP请求方法——GET和POST。GET方法的参数显示在URL中,适用于不敏感的数据传输;POST方法将数据隐藏在请求体中,更安全,适合传输敏感信息。在HTML表单中,`method`属性用于指定请求方法,`action`属性指定处理请求的页面。 6. **窗体(Form)处理**:HTML中的`<form>`标签用于创建表单,`method`属性指明提交数据的方式(GET或POST),`action`属性指定接收表单数据的页面。示例中的`login.jsp`接收并处理了`id`和`pwd`参数。 通过理解这些基本概念,开发者可以开始构建交互式的Web应用,处理客户端的请求,动态生成和返回响应内容。