- 父pom.xml
<modules>
<module>servlet-01</module>
</modules>
- 子pom.xml
<parent>
<artifactId>javaweb-001-servlet</artifactId>
<groupId>com.zzqsmile</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>servlet-01</artifactId>
<packaging>war</packaging>
......
<servlet>
<servlet-name>hello1</servlet-name>
<servlet-class>com.zzqsile.servlet.HelloServlet</servlet-class>
</servlet>
<!-- servlet请求路径-->
<servlet-mapping>
<servlet-name>hello1 </servlet-name>
<url-pattern>/hello1</url-pattern>
</servlet-mapping>
......
package com.zzqsile.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloServlet extends HttpServlet {
//由于get/post只是请求实现的不同方式,可以相互调用,业务逻辑都一样
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter(); //响应流
writer.println("hello servlet ");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
配置Tomcat
图片.png
图片.png
启动
图片.png
访问http://localhost:8082/s1/hello1
图片.png
Mapping问题
一个servlet可以配置多个路径
<!-- servlet请求路径-->
<servlet-mapping>
<servlet-name>hello1 </servlet-name>
<url-pattern>/hello1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello1 </servlet-name>
<url-pattern>/hello2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello1 </servlet-name>
<url-pattern>/hello3</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello1 </servlet-name>
<url-pattern>/hello4</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello1 </servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
- 可以自定义后缀实现请求映射
注意点: *前面不能加项目映射的路径
<servlet-mapping>
<servlet-name>hello1</servlet-name>
<url-pattern>*.zzqsmile</url-pattern>
</servlet-mapping>
- 优先级
固有的路径优先级最高
<servlet-mapping>
<servlet-name>error</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>