《Servlet&JSP》
<大纲>
启动时加载servlet
请求转发与重定向
设置请求自定义属性
Java Web三大作用域对象
web.xml进阶配置
JSP九大内置对象
1.启动时加载Servlet
-
web.xm使用设置启动加载
-
0~9999
从小到大依次加载
-
启动时加载在工作中常用于系统的预处理
2.请求转发与重定向
多个servlet(JSP)之间有两种跳转方式
- 请求转发
request.getRequestDispatcher().forward()
请求转发是服务器内部跳转,只会产生一次请求
- 相应重定向
response.sendRedirect()
重定向是浏览器端跳转(url改变),会产生两次请求
3.设置请求自定义属性
-
设置请求属性
resquest.setAttribute(属性名,属性值)
-
获取请求属性
Object attr = resquest.getAttribute(属性名)
4.Java Web三大作用域对象
-
请求对象
HttpServletRequest
-
用户会话对象
Httpsession
-
Web应用全局对象
- ServletContext是Web应用全局对象
- 一个web应用只会创建一个全局对象
- 它随着Web应用的启动而自动创建
- 利于更改维护
利用ServletContext写页面复用区域
-
InitServlet
ServletContext context = request.getServletContext(); String copyright = context.getInitParameter("copyright"); context.setAttribute("copyright", copyright); String title = context.getInitParameter("title"); context.setAttribute("title", title); response.getWriter().println("init success");
-
IndexServlet
ServletContext context = (ServletContext)request.getServletContext(); String copyright = (String)context.getAttribute("copyright"); String title = (String)context.getAttribute("title"); response.setContentType("text/html;charset=utf-8"); response.getWriter().println("<h1>" + title + "</h1>" + copyright);
5.web.xml进阶配置
-
修改默认首页
<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list>
优先级由上至下
-
Servlet通配符映射
<servlet> <servlet-name>patternServlet</servlet-name> <servlet-class>com.imooc.servlet.pattern.PatternServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>patternServlet</servlet-name> <url-pattern>/pattern/*</url-pattern> </servlet-mapping>
所有匹配的url都会发送请求到这个servlet
-
设置404、500状态码默认页面
<!-- 指定错误页面 --> <error-page> <error-code>404</error-code> <location>/error/404.html</location> </error-page> <error-page> <error-code>500</error-code> <location>/error/500.jsp</location> </error-page>
6.JSP九大内置对象
内置对象 | 描述 |
---|---|
request | 请求对象:HttpServletRequest |
response | 响应对象:HttpServletResponse |
session | 用户会话:HttpSession |
application | 应用全局对象:ServletContext |
out | 输出对象:PrintWriter |
page | 当前页面对象:this |
pageContext | 页面上下文对象:pageContext |
config | 应用配置对象:ServletConfig |
exception | 应用异常对象:Throwable |