1.重定向
(1)什么是重定向?
服务器通知浏览器重新向某个地址发送请求。
注:
服务器可以通过发送302状态码及Location消息头(该消息头的
值是一个地址,一般称之为重定向地址)给浏览器,浏览器收到之后
会立即向重定向地址发送请求。
image.png
(2)如何重定向?
response.sendRedirect(String url);
注:
url是重定向地址。
重定向之前,容器会清空response对象上存放的所有数据。
(3)重定向的特点?
a.重定向地址是任意的。
b.重定向之后,浏览器地址栏的地址会发生变化。
2. jsp
(1)什么是jsp?
sun公司制订的一种服务器端的动态页面技术规范。
注:
因为虽然可以使用servlet生成动态页面,但是过于繁琐
(需要使用out.println输出),并且不利于页面的维护(比如,
修改页面就必须修改java代码),所以,sun才制订了jsp规范。
jsp是一个以".jsp"为后缀的文件,该文件主要内容是html
(包括css,js)及少量的java代码,容器会将jsp转换成一个
对应的servlet然后执行。也就是说,jsp的本质就是一个servlet。
(2)如何写一个jsp文件?
step1. 添加一个以.jsp为后缀的文件。
step2. 可以在该文件里面,使用如下元素:
1)html (css,js)
直接写即可。
2)java代码
a. java代码片断
<% java代码 %>
b. jsp表达式
<%= java表达式 %>
3)隐含对象
a. 什么是隐含对象?
在jsp里面,可以直接使用的对象,比如out、request、response。
b.为什么可以直接使用这些隐含对象?
因为容器会生成获得这些对象的代码。
4)指令
a.什么是指令?
可以使用指令来告诉容器,在将jsp转换成servlet时做一
些额外的处理,比如导包。
b.语法
<%@ 指令名 属性=值 属性=值%>
注:
属性可以有多个,属性之间使用空格隔开。
c.page指令
import属性:导包,比如 <%@ page import="java.util.*"%>
<%@ page import="java.util.*,java.text.*"%>
contentType属性:设置response.setContentType方法的值。
pageEncoding属性:设置jsp文件的编码。告诉容器,在读取jsp文件的内容时,使用指定的字符集来解码。
image.png
(3)jsp是如何执行的?
step1. 容器会将.jsp文件转换成一个.java文件(将jsp转换成servlet)
html(css,js) -----> 在service方法里面,使用out.write输出。
注(了解):write方法会将null转换成""输出,而println方法会输出null。
<% %> ------> 照搬到service方法里面。
<%= %> ------> 在service方法里面,使用out.print输出。
step2.容器调用该servlet。
容器会将servlet编译,然后实例化,并调用service方法。
网友评论