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..."); } }
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!