主要是在web.xml里面进行测试。测试mapping。测试不同url-pattern所带来的效果。
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
//一个名字多个url路径
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello2</url-pattern>
</servlet-mapping>
///*表示后面接任意字符都是访问名为hello的。*号相当于任意字符。相当于mysql中的%
//*.do的*号前面不能加任何东西
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
//指定后缀
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
最后也算是检测你学到的内容--》同理去写一个error的Servlet。
ErrorServlet测试:
package com.Li.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 ErrorServelet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
PrintWriter writer = resp.getWriter();
writer.print("404");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
最终的xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/j2ee
http://xmlns.jcp.org/xml/ns/j2ee/web-app_4_0.xsd"
version="4.0">
//注册servlet
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.Li.servlet.HelloServlet</servlet-class>
</servlet>
//servlet的请求路径
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
//一个名字多个url路径
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello2</url-pattern>
</servlet-mapping>
///*表示后面接任意字符都是访问名为hello的。*号相当于任意字符。相当于mysql中的%
//*.do的*号前面不能加任何东西
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
//指定后缀
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 404 -->
<servlet>
<servlet-class>com.Li.servlet.ErrorServelet</servlet-class>
<servlet-name>error</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>error</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
原版error效果:
修改之后: