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");

 

原文地址:http://www.cnblogs.com/isDaHua/p/16840100.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性