1. Servlet HelloWorld Maven环境
1.1. 依赖
1 | <dependency> |
1.2. 编写Servlet
继承HttpServlet,重写service方法1
2
3
4
5
6
7
8public class MyServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 输出响应的内容
resp.getWriter().write("<h1>HelloWorld</h1>");
}
}
1.3. 配置Serlvet
编辑web.xml,配置Servlet1
2
3
4
5
6
7
8
9
10
11
12<servlet>
<!-- 给servlet取名,名称随意 -->
<servlet-name>haha</servlet-name>
<!-- 指定Servlet类 -->
<servlet-class>demo.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 与<servlet>的<servlet-name>对应 -->
<servlet-name>haha</servlet-name>
<!-- 指定URL -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
1.4. 测试
运行tomcat,访问/hello
2. Servlet运行原理
浏览器访问 http://localhost:8080/webapp1/hello
- 前面的
localhost:8080,就指定了要访问哪个Tomcat - Tomcat接受到请求,分析URL,根据虚拟目录
webapp1找到对应的web应用 - 找到该web应用的
web.xml,根据URI/hello找到对应的<servlet-mapping>,根据<servlet-name>找到关联的<servlet> - 找到
<servlet-class>,得到对应Servlet的全类名。Tomcat就会通过Class.forName()和cls.newInstance()反射创建Servlet,再执行service()处理本次请求
1 | <servlet> |