2022-10-29
处理请求与响应的接口
一 、HttpServletRequest
(1)HttpServletRequest的含义:HttpServletRequest是一个接口 ,是ServletRequest接口的子接口 ,内部封装了HTTP请求的相关信息 。
(2)HttpServletRequest的功能:
①获得请求头信息
②获得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="https://www.cnblogs.com/isDaHua/archive/2022/11/02/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");
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。