学习笔记——处理请求与响应的接口(HttpServletRequest、HttpServletResponse)
2023-03-31 10:44:14 时间
2022-10-29
处理请求与响应的接口
一、HttpServletRequest
(1)HttpServletRequest的含义:HttpServletRequest是一个接口,是ServletRequest接口的子接口,内部封装了HTTP请求的相关信息。
(2)HttpServletRequest的功能:
①获得请求头信息
String header = request.getHeader("User-Agent");
System.out.println("header = " + header);
②获得url的路径信息
//获得上下文路径 String contextPath = request.getContextPath(); System.out.println("contextPath = " + contextPath); //获得主机名 String serverName = request.getServerName(); System.out.println("serverName = " + serverName); //获得端口号 int serverPort = request.getServerPort(); System.out.println("serverPort = " + serverPort);
③获得请求参数
//获得请求参数 String username = request.getParameter("username"); System.out.println("username = " + username); String password = request.getParameter("password"); System.out.println("password = " + password); String gender = request.getParameter("gender"); System.out.println("gender = " + gender); String[] hobbies = request.getParameterValues("hobby"); for (String hobby : hobbies) { System.out.println("hobby = " + hobby); } System.out.println("------------------"); //方式二 Map<String, String[]> parameterMap = request.getParameterMap(); Set<String> strings = parameterMap.keySet(); for (String string : strings) { System.out.println("key = " + string); String[] strings1 = parameterMap.get(string); for (String s : strings1) { System.out.println("value = " + s); } }
④转发(进行页面跳转的方式之一)并共享数据
转发中有可能存在转发到第一个servlet后,又将内容转发到第二个servlet的操作。使用的步骤是:获得转发器对象,进行转发的操作。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("访问到了hahaServlet..."); request.getRequestDispatcher("heihei").forward(request,response); }
说明:request.getRequestDispatcher("heihei").forward(request,response); 语句就是将访问到第一个servlet(上述命名为“haha”)转发给第二个servlet(为“heihei”)
2022-10-30
超链接中加入请求参数的方式:可以按照get请求一样,拼接请求参数,如:
<a href="haha?username=abc&id=666">点击访问hahaServlet</a>
2022-10-31
二、HttpServletResponse
(1)功能:
①通过输出流将响应数据输出给客户端
PrintWriter writer = response.getWriter();
writer.write("haha...");
②可以设置乱码响应(方式是通过设置响应头)
例如:在如果在书写“writer.write("haha...");”中里面输出的内容添加了中文的话,会出现乱码。设置的方式如下:
response.addHeader("content-Type","text/html;charset=utf-8");
添加的位置在输出流的前面。
简写形式:
response.setContentType("text/html;charset=utf-8");
③重定向
页面跳转的主要手段之一(可以跳转至第二个servlet也可以跳转至其他页面)
重定向到另一个servlet:
response.sendRedirect("第二个servlet的url-pattern");
相关文章
- 一篇运维老司机的大数据平台监控宝典(2)-联通大数据集群平台监控体系详解
- 一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解
- 空中换引擎 博时基金数字化转型经验谈
- 如何高效地学习编程语言
- 作为一名阿里巴巴数据分析大牛,送给学弟学妹的经验积分
- 为什么要学习R语言
- Hadoop大数据分析平台的介绍性讨论
- 最全面的Spring学习笔记
- 16个用于数据科学和机器学习的顶级平台
- 给有抱负的数据科学家的六条建议
- 如何做一枚合格的数据产品经理
- 除Kaggle外,还有哪些顶级数据科学竞赛平台
- 一个鲜为人知却可以保护隐私的训练方法:联合学习
- 干货 :送你12个关于数据科学学习的关键提示(附链接)
- 大数据行业有多少种工作岗位,各自的技能需求是什么?
- 中国移动研究院常耀斌:商用大数据平台的研发之路
- 这些数据科学家必备的技能,你拥有哪些?
- 自学成才的开发者有何优势和劣势?
- Gartner报告:正处于数据科学与机器学习工具 “大爆炸”的时代
- Ready Computing借助InterSystems IRIS医疗版为医疗机构提供具有高度互操作性和可扩展性的解决方案