作者:adu | 来源:互联网 | 2023-09-23 11:22
HttpServlet具体书写格式WebServlet(demo4)publicclassServletDemo4extendsHttpServlet{Overridepr
HttpServlet
![](https://img3.php1.cn/3cdc5/63cc/c5a/31539735584a3bde.png)
具体书写格式
@WebServlet("/demo4")
public class ServletDemo4 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//TODO GET 请求方式处理逻辑System.out.println("get...");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//TODO Post 请求方式处理逻辑System.out.println("post...");}
}
![](https://img3.php1.cn/3cdc5/63cc/c5a/69497c04f30e2da2.png)
Servlet urlPattern配置
![](https://img3.php1.cn/3cdc5/63cc/c5a/c42b488d3c1b31ee.png)
Request和Response
简介
![](https://img3.php1.cn/3cdc5/63cc/c5a/5cf72349a7565a08.png)
Request
Request继承体系
![](https://img3.php1.cn/3cdc5/63cc/c5a/c032baa3db3eb051.png)
Request获取请求数据
![](https://img3.php1.cn/3cdc5/63cc/c5a/cd687016d95e2ba3.png)
Request统一方式获取请求参数
![](https://img3.php1.cn/3cdc5/63cc/c5a/ba4b6f8bdbef8b8b.png)
获取GET方式的所有请求参数
/*** request 通用方式获取请求参数*/
@WebServlet("/req2")
public class RequestDemo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//GET请求逻辑System.out.println("get....");//1. 获取所有参数的Map集合Map map = req.getParameterMap();for (String key : map.keySet()) {// username:zhangsan lisiSystem.out.print(key+":");//获取值String[] values = map.get(key);for (String value : values) {System.out.print(value + " ");}System.out.println();}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req,resp)}
}
获取GET请求参数中的爱好,结果是数组值
/*** request 通用方式获取请求参数*/
@WebServlet("/req2")
public class RequestDemo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//GET请求逻辑//...System.out.println("------------");String[] hobbies = req.getParameterValues("hobby");for (String hobby : hobbies) {System.out.println(hobby);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}
获取GET请求参数中的用户名和密码,结果是单个值
/*** request 通用方式获取请求参数*/
@WebServlet("/req2")
public class RequestDemo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//GET请求逻辑//...String username = req.getParameter("username");String password = req.getParameter("password");System.out.println(username);System.out.println(password);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}
Request共享数据
![](https://img3.php1.cn/3cdc5/63cc/c5a/ab50ed68cb384a61.png)
Response
Response设置响应数据功能介绍
![](https://img3.php1.cn/3cdc5/63cc/c5a/c8245d4036d8593f.png)
Response完成重定向
![](https://img3.php1.cn/3cdc5/63cc/c5a/07ef06ae9ef36482.png)
![](https://img3.php1.cn/3cdc5/63cc/c5a/e5404fce4d5b1b23.png)
(1)创建ResponseDemo1类
@WebServlet("/resp1")
public class ResponseDemo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("resp1....");//重定向//1.设置响应状态码 302response.setStatus(302);//2. 设置响应头 Locationresponse.setHeader("Location","/request-demo/resp2");}//简化写法response.SendRedirect("request-demo/resp2");@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}
(2)创建ResponseDemo2类
@WebServlet("/resp2")
public class ResponseDemo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("resp2....");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}