一、servlet工作原理
Web服务器在与客户端交互时,Servlet的工作过程是:
1、在客户端对web服务器发出请求
2、web服务器接收到请求后将其发送给Servlet
3、 Servlet容器为此产生一个实例对象并调用ServletAPI中相应的方法来对客户端HTTP请求进行处理,然后将处理的响应结果返回给WEB服务器.
4、web服务器将从Servlet实例对象中收到的响应结构发送回客户端.
如下图所示:
Mapping问题
1、一个servlet可以指定一个映射路径
2、一个servlet可以指定多个一个映射路径
2、一个servlet可以指定通用映射路径/hello/*
4、指定一些后缀或者前缀 (注意不能加/去表示路径,例如*.zhoudan)
5、优先级问题 可以自定义错误信息的页面!
6、默认请求路径 /*
二、ServletContext
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用;
应用:
1、共享数据
在一个servlet中保存的数据可以在另外一个servlet中拿到。
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//在此servletcontext中保存数据
ServletContext servletContext = this.getServletContext();
String username="zhoudan";
servletContext.setAttribute("username",username);
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//得到数据
ServletContext servletContext = this.getServletContext();
String username = (String) servletContext.getAttribute("username");
resp.setContentType("text/html");
resp.setChar