理解JSP工作原理与脚本元素
"第四章 JSP编程.ppt" 在JSP(Java Server Pages)编程中,获取客户端提交的所有参数的名字、头名字以及头文件中指定头名字的全部值是常见的需求。以下是对这些知识点的详细解释: 1. **获取客户端提交的所有参数的名字**: JSP中的`request.getParameterNames()`方法用于获取客户端通过HTTP请求发送的所有参数的名称。这些参数通常来自表单提交或者URL中的查询字符串。`Enumeration`枚举对象返回这些参数名,可以通过循环遍历并打印出来,如示例代码所示。这有助于开发者了解客户端传递了哪些参数,以便进一步处理它们的值。 2. **获取头名字的一个枚举**: `request.getHeaderNames()`方法用于获取请求头的所有名称。请求头包含了关于HTTP请求的额外信息,如用户代理、接受类型等。同样,通过`hasMoreElements()`和`nextElement()`方法可以遍历并打印所有头名称。 3. **获取头文件中指定头名字的全部值的一个枚举**: 使用`request.getHeaders("cookie")`方法,可以获取特定头名称(例如"cookie")的所有值。HTTP请求头中的Cookie信息常用于跟踪用户会话。同样地,可以遍历这个枚举来打印出所有对应的Cookie值。 JSP的工作原理: JSP本质上是动态网页技术,它将HTML与Java代码结合在一起,允许开发者在页面上嵌入Java代码以实现动态内容。JSP的执行流程大致如下: 1. **JSP到Servlet的转换**: 当服务器接收到对JSP页面的请求时,它首先会将JSP页面转换为一个Java Servlet。这个过程称为JSP编译,产生的`.java`文件包含了JSP中的所有脚本元素、指令和动作。 2. **Servlet的编译与加载**: 生成的Java Servlet源码会被编译为`.class`文件,并由容器(如Tomcat)加载到内存中。这样,每当有新的请求到达,Servlet就会处理请求并生成响应。 3. **JSP生命周期**: JSP的生命周期包括初始化、服务和销毁三个阶段。在服务阶段,JSP的内置对象(如`request`、`response`等)被用来处理HTTP请求和构建响应。 4. **JSP的主要组成部分**: - **脚本元素**:包括声明(declarations)、脚本块(scriptlets)和表达式(expressions),用于编写Java代码。 - **指令元素**:如`@page`、`@include`、`@taglib`,它们影响JSP页面的处理方式。 - **动作组件**:如`<jsp:include>`、`<jsp:forward>`,用于控制页面的结构和行为。 - **内置对象**:如`request`、`response`、`session`等,提供对HTTP请求、响应和会话的直接访问。 5. **JSP执行过程**: 请求从客户端到达服务器,JSP引擎解析JSP页面,将其转换为Servlet,然后执行Servlet的service方法,生成响应内容,最后发送回客户端。 6. **表达式语言(EL)**: EL是一种简洁的语法,用于从JSP页面中检索和设置对象的属性,简化了数据绑定的过程,与JavaBeans或其他支持EL的组件一起使用。 通过以上知识点,开发者可以更好地理解和操作JSP页面,从而创建复杂的动态Web应用。
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
请解释以下代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>注册第一步</title> </head> <body> <% // 设置请求编码方式,防止中文乱码问题 request.setCharacterEncoding("UTF-8"); %> <jsp:useBean id="user" class="com.test.chapter07.javabean.UserBean" scope="session" /> <jsp:setProperty property="*" name="user" /> 用户注册信息确认
<form action="registerSuccess.jsp" method="post">
用户名: | <jsp:getProperty property="username" name="user" /> |
密 码: | <jsp:getProperty property="password" name="user" /> |
性别: | <jsp:getProperty property="sex" name="user" /> |
年龄: | <jsp:getProperty property="age" name="user" /> |
提示信息: | <jsp:getProperty property="tooltip" name="user" /> |
提示答案: | <jsp:getProperty property="answer" name="user" /> |
邮箱: | <jsp:getProperty property="email" name="user" /> |
愿意接受信息: | <jsp:getProperty property="messageChoose" name="user" /> |
<input type="submit" value="确认提交"> |
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
给以下代码添加点击提交后跳转至新界面的功能<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户注册</title> </head> <body>
用户注册
<form id="form1" name="form1" method="post" action="addUserServlet">卡号: | <label> <input name="user" type="text" id="user" /> </label> |
密码: | <label> <input name="pwd" type="password" id="pwd" /> </label> |
重输密码: | <label> <input name="pwd1" type="password" id="pwd1" /> </label> |
账户名: | <label> <input name="name" type="text" id="name" /> </label> |
<label> <input type="submit" name="Submit" value="提交" /> </label> | <label> <input type="reset" name="Submit2" value="重置" /> </label> |
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
机票编号 | 起飞时间 | 到达时间 | 起飞地点 | 到达地点 | 价格 | 选择 |
---|---|---|---|---|---|---|
${ticket.ticketId} | ${ticket.departureTime} | ${ticket.arrivalTime} | ${ticket.departurePlace} | ${ticket.arrivalPlace} | ${ticket.price} | <input type="checkbox" name="selectedTickets" value="${ticket.ticketId}"> |
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/f314b1a81b97400f839c4456aee96e83_weixin_42193786.jpg!1)
- 粉丝: 23
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 贵州煤矿矿井水分类与处理策略:悬浮物、酸性与非酸性
- 醛固酮增多症肾上腺静脉采样对比:ACTH后LR-CAV的最优评估
- 开源云连接传感器监控平台:农业土壤湿度远程监测
- 母婴用品企业年度生产计划线性规划优化模型:实证与应用
- 井下智能变电站:Rogowski线圈电流检测系统的研发与性能验证
- 霍州矿区煤巷稳定性分析及支护策略
- ARM嵌入式系统远程软件更新方案:基于TFTP协议
- 煤炭选煤中汞分布规律与洗选脱汞效果
- 提升码垛机器人性能:拉格朗日动力学模型与滑模模糊控制的应用
- 增强现实技术提升学前手写教学:设计与开发案例
- 不规则工作面沉陷三角剖分算法提升与应用
- 卡尔曼滤波在瞬变电磁干扰压制中的应用研究
- 煤矿安全能力研究:理论与系统构建
- LonWorks总线技术在斜巷运输车辆定位与跑车防护中的应用
- 神东煤炭集团高效煤粉锅炉系统:节能环保新实践
- Ti/SnO2+Sb2Ox/PbO2电极分形维数与电催化性能研究
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)