概述
转自:https://blog.csdn.net/baidu_37107022/article/details/72822999
一、request
package com.tcb.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 目的:总结HttpRequest中常用的方法
*/
public class Servlet01Request extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet01Request() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//一、路径问题:
//1.上下文路径: /TCB-Request01 当前项目目录(重要的)
String contextPath=request.getContextPath();
System.out.println("======contextPath======="+contextPath);
//2.uri--统一资源标识符: /TCB-Request01/Servlet01 服务器上的路径
String uri=request.getRequestURI();
System.out.println("======uri======="+uri);
//3.url--统一资源定位符: http://localhost:8080/TCB-Request01/Servlet01
String url=request.getRequestURL().toString();
System.out.println("======url======="+url);//
//统一资源标识符=http://localhost/资源标识符
//访问的地址:统一资源定位符
//二、提交方式--GET/POST 默认是GET方式,此处运行结果为GET
String method=request.getMethod();
System.out.println("======method======="+method);
//三、服务器内部--根据需求设置要传的值,并在其他页面根据Request获取值--利用的Request是域对象的特性,进行页面见传值
//注意:区别于Parameter
request.setAttribute("key", "value");
request.getAttribute("");//根据名称获取指定传的值
request.getAttributeNames();//获取所有的传值的名称
//四、客户端--获取客户端传来的参数Parameter--比如get方式中地址栏问号?后的username=Jane&password=123
//1.根据指定参数名称获取值
request.getParameter("");//值为单个时
request.getParameterValues("");//值为多个时,返回值为数组--比如爱好hobby,一个参数名下对应多个值
//2.获取所有参数名称
request.getParameterNames();
//3.获取所有参数,并一键值对(key=value)的形式存在map集合中
request.getParameterMap();
//五、获得Cookie和session
request.getCookies();
request.getSession();
request.getRequestedSessionId();//获取session的id,每个session都会在客户端生成一个唯一的id
//六、设置编码方式
request.setCharacterEncoding("utf-8");
//七、转发--地址栏不变,请求一次
request.getRequestDispatcher("要跳转到的页面地址").forward(request, response);
request.getRequestDispatcher("要跳转到的页面地址").include(request, response);//包含,功能与forward类似,不常用
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
二、response
package com.tcb.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 目的:总结HttpResponse中常用的方法
*/
public class Servlet02Response extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet02Response() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//一、设置编码--当然也可以获取编码方式,不常用就不一一列出了
//设置响应输出的编码方式,不常用,一般用下面那个
response.setCharacterEncoding("utf-8");
//告诉浏览器输出的文本是html,让浏览器按照html方式进行解析,并且HTML的文件的编码格式是utf-8
//因为在进行输出时可以写html标签,若没有设置为如下格式,就不能解析html标签
//比如:response.getWriter().write("<a href='http://www.baidu.com' >百度<a/>");
response.setContentType("text/html;charset=utf-8");
//二、输出流
response.getWriter();//字符流
response.getOutputStream();//字节流
//三、添加Cookie
Cookie cookie=new Cookie("username", "用户名");
response.addCookie(cookie);
//四、设置请求头--常用于文件下载
response.setHeader("content-type", "image/png");//设置请求头内容类型,为png类型图片
//content-disposition内容配置
//attachment代表附件的意思 保存下载内容
response.setHeader("content-disposition", "attachment;filename="+"文件名称,带扩展名");
//setHeader实现刷新
//3s后刷新,只刷新一次--其中3指代时间 所以setHeader也可以实现页面跳转
response.setHeader("refresh", "3;url=刷新跳转的页面地址,可以是jsp,HTML,Servlet等");
response.setIntHeader("refresh", 3);//目的:循环是刷新,每隔3s去刷新
//五、重定向--地址栏变化,请求两次
response.sendRedirect("要跳转到的页面地址,一般用绝对路径");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
三、cookie
package com.tcb.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 目的:总结Cookie中常用的方法
*/
public class Servlet03Cookie extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet03Cookie() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取Cookie
request.getCookies();
//创建和添加Cookie
Cookie cookie=new Cookie("", "");//参数1:参数名 参数2:参数值
response.addCookie(cookie);
//设置Cookie有效时间和路径
cookie.setMaxAge(0);//设置Cookie有效时间,单位是秒 值为0时,表示Cookie失效(默认)
cookie.setPath("uri,路径");//设置Cookie路径
//获取Cookie的值和名以及当前路径
cookie.getName();
cookie.getValue();
cookie.getPath();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
四、session
package com.tcb.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 目的:总结Session中常用的方法
*/
public class Servlet04Session extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet04Session() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建session
HttpSession session=request.getSession();
//给session赋值以及获取值--参数1:参数名 参数2:参数值
session.setAttribute("key", "value");
session.getAttribute("");//根据传值的名称获取值
session.getAttributeNames();//获取session中存的所有值的名称
//设置session有效时间,单位秒
session.setMaxInactiveInterval(5);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
最后
以上就是高大板栗为你收集整理的Request/Response/Cookie/Session中常用方法的全部内容,希望文章能够帮你解决Request/Response/Cookie/Session中常用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复