Request对象和Response对象

网友投稿 751 2022-09-16

Request对象和Response对象

Request对象和Response对象

再上一节我们写了HttpServelt类,我们发现我们写的实现类中的dopost方法和doget方法中有两个参数request,response,他们是Resquest的对象和Response的对象,都是由服务器创建Request对象  获取请求消息,Response对象   响应在HttpServelt类中,我们发现方法中的参数是HttpServletResquest对象,这里写一下继承顺序,  Request---->ServletRequset---->HttpServletRequest,根据多态的性质可以知道参数request也是Request对象,  这个对象不需要我们创建,由tomcat创建下面我们来写一下这个Request对象的方法:首先建立一个html页面,放在web文件夹下: Title




然后我们运行tomcat,用浏览器输入地址查看是否可以查看该文件,下面我们编写Servelt文件:package com.zs.servelt;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.javax.servlet.javax.servlet.java.io.IOException;import java.util.Arrays;import java.util.Enumeration;import java.util.Map;import java.util.Set;@WebServlet("/login")/*这里需要注意的是,我们之前在html文件的action属性中写的是"/zs/login",里面前面是配置的服务器地址的url,后面代表虚拟路径, 在这里只需要输入虚拟路径*/public class ServletDemo1 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*获取请求行的数据*/// 1.获取请求的方式 String method = request.getMethod(); System.out.println(method);// POST// 2.获取目录的路径 String conpath = request.getContextPath(); System.out.println(conpath);// /zs// 3.获取servelt的路径 String servletPath = request.getServletPath(); System.out.println(servletPath);// /login// 4.获取请求参数 String queryString = request.getQueryString(); System.out.println(queryString);// null// 5.获取请求的url String requestURI = request.getRequestURI(); System.out.println(requestURI);// /zs/login StringBuffer requestURL = request.getRequestURL(); System.out.println(requestURL);// 6.获得协议版本 String protocol = request.getProtocol(); System.out.println(protocol);// HTTP/1.1// 7.获得客户的id String remoteAddr = request.getRemoteAddr(); System.out.println(remoteAddr);// 0:0:0:0:0:0:0:1 /*获取请求参数的通用方式(post,get都可以使用的方法),下面的方法必须记住,会常用*/// 1.根据参数的名称获得参数,括号内参数为标签的name值 String username = request.getParameter("username"); System.out.println(username);// 结果: 165// 2.根据参数的名成获得参数的数据,例如html标签中checkbox有多个值,就会把这些值放进一个数组中, String[] hobbies = request.getParameterValues("hobby"); System.out.println(Arrays.toString(hobbies)); //结果: [chi, he, wan]// 3.获得所有的请求参数的名称 Enumeration parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String s = parameterNames.nextElement(); System.out.println(s); //结果: //username //password //hobby }// 4.获得所有参数的集合 Map parameterMap = request.getParameterMap();// 遍历集合 Set> entries = parameterMap.entrySet(); for (Map.Entry entry : entries) {// 这里可以看出参数的值为数组格式 String[] value = entry.getValue(); System.out.println(entry.getKey()+Arrays.toString(value)); //username[165] //password[131] //hobby[chi, he, wan] } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*get方式和post提交方式,只是一个显示提交,一个隐式提交示,内部方法是一样的,所以我们这里调用post方法就好了*/ this.doPost(request,response); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python编写俄罗斯方块小游戏(python编的俄罗斯方块游戏)
下一篇:小程序引流是什么意思?小程序平台引流的3种常用方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~