一、Servlet映射匹配问题
1. Tomcat服务器工作原理
(1) 客户机发送http请求给Web服务器-Tomcat,此时请求的Servlet未被初始化
(2) Tomcat服务器从磁盘中读取Servlet3,Servlet3加载成功
(3) 解析http请求为request对象,Tomcat服务器转发request到Servlet3进行处理
(4) Servlet3处理完成之后,返回response对象
(5) Tomcat将response对象转成http响应,发送给客户机
2. Web.xml配置原因
(1) 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成。
(2)<servlet>元素用于注册Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,分别用于设置Servlet的注册名称和Servlet的完整类名。
(3)一个<servlet-mapping>元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:<servlet-name>和<url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径
3. Web.xml配置实例
<?xml version="1.0" encoding="UTF-8"?>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>MyServlet</url-pattern>
</servlet-mapping>
4. 总体配置目录结构
(1)注意Web.xml和Servlet的位置
二、创建Servlet
1.
三、Servlet实现简单的用户登录
四、cookie和session实现保存用户状态
1.
2.参考链接
- JavaWeb应用如何实现保持登录状态
https://blog.csdn.net/zeping891103/article/details/76032949- Cookie和Session实现保存登录状态免登录
https://blog.csdn.net/a754895/article/details/82632747
五、遇到问题
- 在Servlet中,doGet()和doPost()有什么区别?
- 使用cookie和session有什么区别?
- request.getSession(true)和request.getSession(false)的区别?
答:
request.getSession(true):若存在会话则返回该会话,否则新建一个会话。
request.getSession(false):若存在会话则返回该会话,否则返回NULL。
- request.getSession(true)和request.getSession(false)的区别
https://www.cnblogs.com/tv151579/p/3870905.html- 应用实例:【JavaWeb】利用Session保存用户登录信息
https://blog.csdn.net/liu_wenbin/article/details/59531184
六、参考链接
- 创建Web项目及Web.xml自动配置
http://c.biancheng.net/view/3985.html- Servlet实现简单的用户登录
https://blog.csdn.net/lz527657138/article/details/60326140- Servlet工作原理(全网最详细教程包括Servlet源码分析)
https://blog.csdn.net/qq_19782019/article/details/80292110