用JSP实现动态交互
一、什么是JSP?
1、在HTML中嵌入Java脚本代码
2、由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码
3、然后将生成的整个页面信息返回给客户端
二、为什么需要基于B/S技术的动态网页?
使用动态网页,可以动态输出网页内容、同用户进行交互、对网页内容进行在线更新
三、B/S技术的特点是什么?
1、解释执行HTML文件
2、运行JSP等服务器端程序
四、Web容器处理JSP文件请求需要经过3个阶段:
1、翻译阶段
2、编译阶段
3、执行阶段
注意:第一次请求之后,Web容器可以重用已经编译好的字节码文件
注意:如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译
五、JSP 页面组成
JSP 页面的元素包括
1、静态内容(HTML静态文本)
2、指 令(以“<%@ ” 开始,以“%> ” 结束。比如:<%@ include file = " Filename" %>)
3、表达式(<%=Java表达式 %>)
4、小脚本(<% Java 代码 %>)
5、声 明(<%! 方法 %>)
6、注释(<1、!-- 这是注释,但客户端可以查看到 --> 2、 <%-- 这也是注释,但客户端不能查看到 --%>)
六、什么是page指令?
Øpage指令
Ø通过设置内部的多个属性来定义整个页面的属性
Ø语法:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>
七、JSP中的注释
Ø合理、详细的注释有利于代码后期的维护和阅读
Ø在JSP文件的编写过程中,共有三种注释方法:
ØHTML的注释:<!-- html注释-->
ØJSP注释:<%-- JSP注释--%>
Ø在JSP脚本中注释:
<% //单行注释 %>
<% /*多行注释 */ %>
八、Web程序的调试与排错
Ø在运行Web程序时,常犯的一些错误有:
Ø未启动Tomcat服务,或者没有在预期的端口中启动Tomcat服务
Ø未部署Web应用,就试图运行Web程序
Ø运行时,URL输入错误
Ø存放文件的目录无法对外引用,如:文件放入了WEB-INF、META-INF等文件夹
九、什么是JSP内置对象
ØJSP内置对象是 Web 容器创建的一组对象
ØJSP内置对象的名称是JSP 的保留字
ØJSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例
<%
request.setCharacterEncoding("GBK");
String titleName =
request.getParameter("titlename");
%>
Ø常用的JSP内置对象
1、out
2、session
3、request
4、application
5、response
十、JSP内置对象request
request对象主要用于处理客户端请求
request对象常用方法
方法名称 |
说 明 |
String getParameter(String name) |
根据页面表单组件名称获取页面提交数据 |
String[ ] getParameterValues(String name) |
获取一个页面表单组件对应多个值时的用户的请求数据 |
void setCharacterEncoding(String charset) |
指定每个请求的编码,在调用getParameter( )之前进行设定,可以解决中文乱码问题 |
String getRemoterAddr() |
返回提交请求的客户机的IP地址 |
JSP内置对象request案例
Ø注册页面
<form name="form1" method="post" action="reginfo.jsp">
<table border="0" align="center">
<tr> <td>用户名</td><td> <input type="text" name="name"></td></tr>
<tr><td>密码</td><td > <input type="password" name="pwd"> </td></tr>
<tr> <td>你喜欢的水果:</td><td>
<input type="checkbox" name="channel" value="苹果"> 苹果
<input type="checkbox" name="channel" value="梨"> 梨
<input type="checkbox" name="channel" value="西瓜"> 西瓜
<input type="checkbox" name="channel" value="香蕉"> 香蕉 </td></tr>
<!-- 以下是提交、取消按钮 -->
</table>
</form>
Ø信息读取显示页面
//在进行页面开发时,存在多种字符集编码设置,我们只需要在页面设置支持中文字符的字符集就可以了
//设置读取请求信息的字符编码为GBK或者GB2312或者UTF-8
request.setCharacterEncoding(“utf-8");
<%
//读取用户名和密码
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
…HTML页面代码…
//读取复选框选择项
String[] channels = request.getParameterValues("channel");
if (channels != null) {
for (int i = 0; i < channels.length; i++) {
out.println(channels[i]);
}
}
%>
Øpage指令常用属性
属性 |
描述 |
默认值
|
language |
指定JSP页面使用的脚本语言 |
java |
import |
通过该属性来引用脚本语言中使用到的类文件 |
无 |
contentType |
用来指定JSP页面所采用的编码方式 |
text/html, ISO-8859-1
|
责任重于泰山,任重而道远。