学习目标:
理解JSP内置对象的概念
掌握request和response的使用
掌握转发和重定向的区别
掌握out对象的使用
学习内容:
1.HTML页面转成JSP页面
HTML页面转成JSP页面一般有两种方式
方式1:直接修改HTML页面
1)直接在HTML页面最顶端添加page指令
2)修改文件后缀名为jsp
方式2:新建jsp文件,拷贝HTML代码(推荐使用)
1)在工程中新建文件名为***.jsp文件。
2)将HTML页面的内容拷贝到***.jsp文件中。千万别傻乎乎的连jsp文件头的内容也覆盖了,只覆盖jsp文件中html标签的内容就OK。
2.JSP内置对象
JSP内置对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP所支持的九大内置对象:
对象 | 描述 |
request | 每当客户端请求JSP页面时,JSP引擎会制造一个新的request对象来代表这个请求。 |
response | 当服务器创建request对象时会同时创建用于响应这个客户端的response对象 |
out | out对象用来在response对象中写入内容。 |
session | session对象用来跟踪在各个客户端请求间的会话。 |
application | 该对象代表web应用本身,整个web应用共享一个application对象。 |
config | 这个对象允许开发者访问Servlet或者JSP引擎的初始化参数。 |
pageContext | 页面上下文对象,这个对象存储了内置对象的引用。 |
page | 这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表 |
exception | 这个对象包装了从先前页面中抛出的异常信息。 |
2.1JSP内置对象request
要用于处理客户端请求。
request对象中保存了用户的请求数据和浏览器的相关信息,通过调用相关方法就可以实现请求数据的读取。
request对象的常用方法
方法名称 | 说明 |
String getParameter(String name) | 根据表单组件名称获取提交数据 |
String[ ] getParameterValues(String name) | 获取表单组件对应多个值时的请求数据 |
void setCharacterEncoding(String charset) | 指定每个请求的编码 |
RequestDispatcher getRequestDispatcher(String path) | 返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求 |
示例
<form name="form1" method="post" action=“util/doreg.jsp">
<div class="form-group">
<label for="userName">用户名</label>
<input id="userName" name="userName" required type="text" class="form-control" placeholder="6-15位字母或数字" >
</div>
<!—省略其他表单元素-->
</form>
3.get与post区别
比较项 | get | post |
参数出现在URL中 | 是 | 否 |
长度限制 | 有 | 无 |
安全性 | 低 | 高 |
URL可传播 | 是 | 否 |
4.JSP内置对象response
response对象用于响应客户请求并向客户端输出信息
4.1response对象的常用方法
方法名称 | 说明 |
void addCookie(Cookie cookie) | 给客户端添加一个Cookie对象,以保存客户端的信息 |
PrintWriter getWriter() | 返回一个输出字符流 |
void sendRedirect() | 将请求重新定位到一个不同的URL,即页面重定向 |
void setCharacterEncoding(String encoding) | 设置字符编码类型为encoding |
5.请求的转发
转发的作用
在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理
转发的实现 RequestDispatcher对象的forward()方法
示例
<%
RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp");
rd.forward(request, response);
%>
6. 转发与重定向的区别
转发的工作方式
重定向的工作方式
7.out对象
out对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容。
out对象的常用方法:
属性 | 说明 |
| 向页面输出显示 |
println | 向页面输出显示,在结尾处添加换行 |
flush | 刷新输出流 |