Request和Response方法总结 - CSDN博客
来源:互联网 发布:知世风涧澈 编辑:程序博客网 时间:2024/05/21 09:33
- Request和Response方法总结
- 方法
- 常见用法
- 获取请求参数
- 读取get方式提交的数据
- 读取post方式提交的数据
- 获取表单参数
- 获取打印流
- 中文乱码问题
- 重定向
- 刷新
- 转发
- Cookie
- Session
- 获取请求参数
Request和Response方法总结
方法
常见用法
获取请求参数
//获取请求的资源System.out.println(request.getRequestURL());System.out.println(request.getRequestURI());//获取请求的方式System.out.println(request.getMethod());//获取请求头对应的值String header = request.getHeader("Host");System.out.println(header);//获取请求头中所有的值,返回一个Enumeration枚举类Enumeration<String> headerNames = request.getHeaderNames();//Enumeration接口(枚举),调用nextElement()方法得到Enumeration枚举对象中的所有元素while(headerNames.hasMoreElements()){ String head = headerNames.nextElement(); System.out.println(head);}
读取get方式提交的数据
//获取请求参数String queryString = request.getQueryString();System.out.println(queryString);
读取post方式提交的数据
//获取请求数据流ServletInputStream inputStream = request.getInputStream();byte[] bytes = new byte[1024];int len = inputStream.read(bytes);String string = new String(bytes, 0, len);System.out.println(string);
获取表单参数
//get和post方式都可以用该方法获取表单参数//tomcat8下,get方式下,使用getParameter方法,中文不会乱码String name = request.getParameter("name");String pwd = request.getParameter("password");System.out.println(name);System.out.println(pwd);
获取打印流
//获取打印流的对象PrintWriter writer = response.getWriter();String html = "<html>";html += "<head>";html += "</head>";html += "<body>";html += "你好";html += "</body>";html += "</html>";writer.write(html);writer.close();
中文乱码问题
//get提交方式,解决中文乱码问题URLDecoder.decode(queryString, "utf-8");//post提交方式,解决中文乱码问题//tomcat内部使用的是iso-8859-1的编码request.setCharacterEncoding("utf-8");//String name = request.getParameter("name");name = new String(name.getBytes("iso-8859-1"), "utf-8");//解决响应的中文乱码问题 服务器发送给浏览器的内容的编码response.setContentType("text/html;charset=utf-8");
重定向
//设置重定向使用的状态码response.setStatus(302);//设置重定向的urlresponse.setHeader("location", "/index.html");//ServletApps为项目名在这里表示路径response.sendRedirect("/ServletApps/MyServlet");response.sendRedirect("index.html");//重定向时,不能共享request域中的数据request.setAttribute("id", 10);//跳转到指定路径//推荐如下写法response.sendRedirect(request.getContextPath() + "/RedirectServlet");---------------------------------------------------//RedirectServlet.java//获取request域中的数据int id = (Integer)request.getAttribute("id");//打印流打印数据response.getWriter().write("RedirectServelt:" + id);
刷新
//定时刷新,每隔一秒刷新一次response.setHeader("refresh", "1");//指定时间(秒)后,跳转到另外的界面response.setHeader("refresh", "3;url=/ServletApps/index.html");
转发
//request域//向request域中写入数据request.setAttribute("age", 10);//转发request.getRequestDispatcher("/ForwardServlet").forward(request, response);----------------------------------------------------------------//ForwardServalet.java//获取request域中的数据int age = (int)request.getAttribute("age");//打印流打印数据response.getWriter().write("ForwardServlet:" + age);
Cookie
//创建Cookie对象Cookie cookie = new Cookie("name", "zhangsan");//如果有相同的name值的Cookie,后一个会替换前一个Cookie内容//Cookie中的name和value都是字符串类型//Cookie中不能出现中文Cookie cookie1 = new Cookie("name", "lisi");//通过响应将Cookie数据发送到浏览器response.addCookie(cookie);//获取请求中的Cookie数据Cookie[] cookies = request.getCookies();if(cookies != null){ for(Cookie cookie2 : cookies){ //获取Cookie的name和对应的value System.out.println(cookie2.getName()); System.out.println(cookie2.getValue()); }}
Session
//根据Session的id查找服务器是否有对应的Session对象,如果有返回Session对象;如果没有创建Session对象//创建Session对象后,会将JSESSIONID以Cookie的形式存在浏览器HttpSession session = request.getSession();//Session的id,唯一的(JSESSIONID)String id = session.getId();System.out.println(id);//默认情况下,JSESSIONID的过期时间是会话结束时,为了能正常访问Session对象,需要手动将JSESSIONID存储到Cookie中,并设置一个合适的过期时间Cookie cookie = new Cookie("JSESSIONID", id);cookie.setMaxAge(60);response.addCookie(cookie);
阅读全文
2 0
- Request和Response方法总结 - CSDN博客
- request和response方法的总结
- Request和response总结
- request和response总结
- response和request方法
- request和response用法总结
- request和response复习总结
- JavaWeb:Request和Response总结
- Request与Response常用方法总结
- Request与Response常用方法总结
- request和response的用法和总结
- Request和response的用法总结
- Request和response的用法总结
- request和response的学习总结
- Request和response的用法总结
- Servlet中Request和Response对象总结
- Struct2获取response和request的方法
- struts2 获取request和response的方法
- QML Image动态刷新图片来自C++的QImage的一个巨坑
- Unable to complete the scan for annotations for web application [] due to a StackOverflowError
- samba共享存储服务
- Kotlin学习(一)
- CF895C dp/线性基
- Request和Response方法总结 - CSDN博客
- C++注释转化为C注释
- 【收藏】比较全的关于js获取css样式各种方法区别
- 240. Search a 2D Matrix II
- Spring Boot学习笔记----mybatis注解(一)
- java通过jdbc插入中文到mysql显示异常(问号或者乱码)
- The art of computer programming chapter1
- iptables
- 图的实验1——图的邻接矩阵存储实现