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 = 1L; public 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 = 1L; public 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 = 1L; public 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 = 1L; public 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 = 1L; public 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