1 配置web.xml
为什么要配置web.xml?
每个网页是由无数块的Servlet组成的,当用户触发了一个Servlet,服务器就会收到相应的请求,并要做及时的处理。如果没有配置xml,那么服务器是不知道用户触发了哪个模块的Servlet,也不知道之后进行处理。
应该以怎样的逻辑去配置?
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<!-- 配置LoginServlet:配置LoginServlet与处理请求的映射 -->
<!-- 业务逻辑:(以登录为例)
客户端触发模块的login的Servlet,并发送doPost doGet请求。
服务器端接收到Servlet,在配置文件web.xml的 <servlet-mapping>中查找<url-pattern>/login</url-pattern>对应的<servlet-name>loginServlet</servlet-name>
再在<servlet>中通过上阶段找到的<servlet-name>匹配出对应的<servlet-class>com.simplelee.login.servlt.LoginServlet</servlet-class>
最后Tomcat通过反射的方式创建LoginServlet的实例,根据具体的请求方式调用对应的doGet或doPost方法
-->
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.simplelee.login.servlt.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/login</url-pattern>
<servlet-name>loginServlet</servlet-name>
</servlet-mapping>
</web-app>
文件位置如图
2 LoginServlet类
package com.simplelee.login.servlt;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*@author SimpleLee http://blog.csdn.net/u012236693
*@version 创建时间:2019年4月30日下午9:32:14
*
*Servlet是sun公司制定的标准,Tomcat一方面作为web应提供服务,另一方面它具体实现了Servlet
*/
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("接收到一个登录请求...");
}
}
位置如图