request和response内置对象的总结篇

一 request对象
1 .request对象最主要的作用
是接收参数,当客户端请求一个jsp页面或一个Servlet时,容器(服务器)会将客户端的请求信息包装在这个request对象中,request对象封装了用户提交的信息,通过调用该对象相应的方法可以获取来自客户端的请求信息,然后做出响应。Request对象是HttpServletRequest类的实例。
2.request对象的常用的方法
getAttribute(String name):返回指定属性的属性值
getParameter(String name): 返回name指定参数的参数值
setAttribute(String key,Object obj): 设置属性的属性值
getSession():创建一个session对象
3.request对象常用的技术:
用getParameter()方法获取表单提交的信息,如以下示例
Forml.jsp页面通过表单servlet(requestforml)提交用户名和密码信息;requestforml通过request对象获取表单提交的信息。
forml.jsp的代码如下:

<body> 
<form action=”requestforml” method=”post”>
<P>姓名<input type=”text” size=20”name=”UserID”></P>
<P>密码<input type=”password”size=20”name=”UserPWD”></P>
<P><input type=”submit” value=”提交”></P>
</form>
</body>

注意:表单提交的方法有get与post两种,二者的主要区别是get方法会在提交的过程中显示提交信息。

requestforml核心代码如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(“text/html”);
String name=request.getParameter(“UserID”);
String pass=request.getParameter(‘UserPWD”);
System.out.println(name);
System.out.println(pass);
}

getAttribute()方法及request.setAttribute()方法的应用
request对象用来传递两个页面之间的数据,getparameter()方法用于后端(Servlet或JSP)获取前端的各类表单信息,如果后端向前端发回数据,则需要用到request.setAttribute()方法,即设值,前端接受数据则用getAttribute()方法。即取值。

doGet代码:
RequestDiapatcher  dispatcher=null;
Request.setAttribute(“log”,”error”);//在request中写数据
dispatcher.forward(request,response);//向前端发数据

二.reponse对象
1.request对象和reponse对象是相铺相成的,request对象用来得到客户端的信息,reponse对象处理服务器端对客户端的一些相应,reponse对象对客户的请求做出动态的响应,主要是向客户端发送头部数据,reponse对象是HttpServletResponse类的实例
2.Request.setCharacterEncoding(“utf-8”);
Response.setContentType(“text/html”);与就是jsp中的Charset=”utf-8”
两者的作用:
将输出中文以utf-8的方式进行编码
同时让浏览器显示编码的方式设置为utf-8,jsp最终会翻译成servlet中的PageEncoding=”utf=8”
3.使用response对象实现重定向
对于response对象的sendRedirect方法,可以将当前客户端的请求转到其他页面去,相应的代码格式为”response.sendRedirect(“URL地址”),下面示例login.html提交姓名到response3.jsp页面,如果提交的姓名为空,则需要重定向到login.html页面,否则显示 欢迎界面

login.html代码如下:
<body>
<form action=”response3.jsp”method=”post”>
<P>姓名:<input type=”text”size=20”name=”UserID”></P>
<P><input type=”submit”value=”提交”></P>
</form>
</body>
Response3.jsp代码如下:
<body>
<% String s=request.getParameter(“UserID”);
Byte b[]=s.getBytes(“utf-8);
S=new String(b);
If(s==null) {s=””;reponse.sendRedirect(“login.html”);}
else out.println(“欢迎您来到本网页!”+s);
%s>
<body>

注意:用dispatcher.forward(request,response)方法和response对象中的sendRedirect方法都可以实现页面的重定向,但二者是有区别的,前者只能在本网站跳转,且跳转后,在地址栏中仍然显示以前页面的URL,跳转前后的两个页面属于同一个request,跳转前后的两个页面属于同一个request,用户程序可以用request来设置或传递用户程序数据,但对于response.sendRedirect则不一样了,他相对前者是绝对的跳转,在地址栏中显示的是跳转后页面的URL,跳转前后的两个页面不属于同一个request。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值