Servlet中的Request的一些实现细节和应用

               

    Servlet中,response是向浏览器发出请求,而request就是获得浏览器向服务器发出的请求了,下面首先演示request的常用方法

package com.bird.request;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @use Request的常用方法 * @author Bird  * */public class RequestDemo1 extends HttpServlet private static final long serialVersionUID = 1Lpublic void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {//  System.out.println("request" + request.getRequestURI());//  System.out.println("request" + request.getRequestURL());  //  System.out.println(request.getQueryString());//得到查询窜//  System.out.println(request.getRemoteAddr());//得到访问的IP地址//  System.out.println(request.getRemotePort());//得到访问端口  System.out.println(request.getMethod());//得到请求方式 } public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException { }}


获取求情头的信息和数据

package com.bird.request;import java.io.IOException;import java.util.Enumeration;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @use 获取请求头信息和数据 * @author Bird * */public class RequestDemo2 extends HttpServlet private static final long serialVersionUID = 1Lpublic void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {//  String username = request.getParameter("username");//  System.out.println(username);       }  //获取头相关的方法 private void test1(HttpServletRequest request) {  String headValue = request.getHeader("Accept-Encoding");  System.out.println(headValue);    System.out.println("-----------------------------");    Enumeration  en = request.getHeaders("Accept-Encoding");  while(en.hasMoreElements()){   String value = (String) en.nextElement();   System.out.println(value);  }      System.out.println("++++++++++++++++++++++++++");    en = request.getHeaderNames();  while(en.hasMoreElements()){   String value = (String) en.nextElement();   System.out.println(value);  } } public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  String username = request.getParameter("username");  System.out.println(username); }}

控制浏览器的定时刷新

package com.bird.ServletResponse;import java.io.IOException;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ResponseDemo3 extends HttpServlet /**  * @use 控制浏览器定时刷新  * @author Bird  */ private static final long serialVersionUID = 1Lpublic void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  //实用的自动跳转技术  String message = "<meta http-equiv='refresh' content='3;url=/ServletDemo/index.jsp'>恭喜你登录成功,本浏览器将在3s后跳转,如果没有跳转,请点击<a href =''>连接</a>";  this.getServletContext().setAttribute("message", message);  this.getServletContext().getRequestDispatcher("/message.jsp").forward(request, response);   }  //控制登录完毕后几秒内跳转 private void test2(HttpServletResponse response) throws IOException {  //假设这个是一个处理登录的Servlet,用户到此就算是登录成功了  //浏览器需要在登录成功后自动跳转  response.setCharacterEncoding("UTF-8");//设置当前码表  response.setContentType("text/html;charset=UTF-8");  response.setHeader("refresh", "3;url='/ServletDemo/index.jsp'");  response.getWriter().write("恭喜你登录成功,本浏览器将在3s后跳转,如果没有跳转,请点击<a href =''>连接</a>"); }  //控制浏览器定时刷新 private void test1(HttpServletResponse response) throws IOException {  response.setHeader("refresh", "3");//控制浏览器每隔3秒访问一次服务器也就是刷新  String date = new Date().toString();  response.getOutputStream().write(date.getBytes()); } public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException { }}



Expries头控制缓存

package com.bird.ServletResponse;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ResponseDemo4 extends HttpServlet /**  * @use 使用Expries头控制缓存  * @author Bird  */ private static final long serialVersionUID = 1Lpublic void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {  //一定要弄当前时间加上你所需要的时间才行  response.setDateHeader("expires", System.currentTimeMillis()+1000*3600);  String date = "aaaaaaa";  response.getWriter().write(date); } public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException { }}


重定向的特点

package com.bird.ServletResponse;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 重定向的特点 * 1.浏览器会向服务器发送两次,意味着有两个response * 2.用重定向,浏览器地址栏会发生变化 * 3.必须使用购物车才可以 * 4.同时调用getoutputstream和getwriter会抛出这个已经使用的异常,特别是重定向的时候 */public class ResponseDemo5 extends HttpServlet /**  * @use 使用response实现请求的重定向  */  private static final long serialVersionUID = 1Lpublic void doGet(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {//  response.setStatus(302);//设置重定向状态码//  response.setHeader("location", "/ServletDemo/index.jsp");    response.sendRedirect("/ServletDemo/index.jsp"); } public void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException { }}


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值