14.1 Servlet_体系结构
-
Servlet 接口 < —— GenericServlet 抽象类 < —— HttpServlet 抽象类
-
GenericServlet: 将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象 。
- 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可
-
HttpServlet: 对http协议的一种封装,简化操作。
- 1.定义类继承HttpServlet;
- 2.复写doGet/doPost方法。
-
图示:
-
示例:
package com.xww.web.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/demo1")
public class ServetHttpDemo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doget....");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("dopost...");
}
}
14.2 Servlet_urlpartten配置
- urlpartten: Servlet访问路径
- 一个Servlet可以定义多个访问路径 : eg:
@WebServlet({"/x","/xw","/xww"})
- 路径定义规则:
- /xxx: 路径匹配 。访问方式:
http://localhost:8080/xww
- /xxx/xxx: 多层路径,目录结构。 访问方式:
http://localhost:8080/x/xww
- *.do: 扩展名匹配。 访问方式:
http://localhost:8080/xww.do
- /xxx: 路径匹配 。访问方式:
- 一个Servlet可以定义多个访问路径 : eg:
- 示例:
package com.xww.web.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Servlet路径配置
*/
//@WebServlet({"/x","/xw","/xww"})
//@WebServlet("/x/xw")
//@WebServlet("/x/*")
//@WebServlet("/*")
@WebServlet("*.do")
public class ServletUrlDemo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doget...");
}
}