Servlet体系结构和Servlet相关配置
Servlet体系结构
Servlet -- 接口
|
GenericServlet -- 抽象类
|
HttpServlet -- 抽象类
- GenericServlet :将Servlet接口中其他的方法做了默认空实现 只将Service()方法作为抽象
- 将来定义Servlet类时 可以继承GenericeServlet 实现Service()方法即可
java代码
package com.bai.Servlet; import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet; import java.io.IOException; @WebServlet("/demo1") public class ServletDemo01 extends GenericServlet { @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("demo01"); } }
运行结果

- HttpServlet:对http协议的一种封装
- 定义类继承HttpServlet
- 复写doGet/doPost方法
java代码
package com.bai.Servlet; import com.sun.net.httpserver.HttpServer; 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("/demo2") public class ServletDemo02 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..."); } }
HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h3>明文提交</h3> <form action="/demo2" method="get"> <input name="username"> <input type="submit" name="提交"> </form> <hr> <h3>密文提交</h3> <form action="/demo2" method="post"> <input name="password"> <input type="submit" name="提交"> </form> </body> </html>
运行结果

Servlet相关配置
1.urlpartten:Servlet访问路径
- 一个Servlet可以定义多个访问路径:@WebServlet({"/d4","/dd4","/ddd4"})
- 路径定义规则
- /xxx
- /xxx/xxx:多层路径 目录结构
- *.do
java代码
@WebServlet({"/d4","/d4/d4","/hh/*"})
public class ServletDemo03 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet...");
}
}
运行结果


浙公网安备 33010602011771号