这里对request请求域,session,ServletContext(application)进行 简单的区别setAttribute() 在Request域中存储数据
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、雅安服务器托管、营销软件、网站建设、新邵网站维护、网站推广。
setCharacterEncoding() 设置请求参数的编码方式,只针对post请求
getMethod() 获取请求类型
getParameter() 获取请求参数值
getParameterNames() 获取所有请求参数,返回一个Enumeration枚举类
getAttribute() 获取request域中存储的数据
getAttributeNames() 获取域中所有数据,返回一个Enumeration枚举类
getContextPath() 返回当前WEB项目相对路径
getCookies() 获取所有Cookie,返回一个Cookie数组
getRequestDispatcher() 获取转发器,
getSession()获取Session对象String getRequestURI() : 获取请求URI;
String getServletPath() : 获取Servlet路径;
String getQueryString() : 获取get方式请求参数;
String getHeader(String name) : 通过请求头的名称获取请求头的值;
request.getRequestDispatcher(String path).forward(ServletRequest request, ServletResponse response); 转发
void removeAttribute(String name):通过键移除键值对;
request.getServletContext();获取ServletContext对象
session是会话层,在应用程序的web页面进行跳转的时候保存用户的状态,使整个会话层一直存在直到浏览器关闭。request的生命周期是一次访问,也就是说客户端的一次对服务器的访问会发出一个request,那么这个request持续到服务器程序对这个request全部处理完成。ServletContext的生命周期是这个应用的全程,也就是说从服务器应用启动开始ServletContext被加载起来,然后直到服务器关闭的时候销毁。
下面通过编程进行验证代码如下
注意在使用@WebServlet的时候用 @ServletComponentScan进行扫描才行
@WebServlet(urlPatterns = "/servlet")
public class servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");//设置请求头的编码方式,只针对post请求
request.setAttribute("username","123");//在request域中存值
System.out.println(request.getMethod());//获取请求方法
System.out.println(request.getParameter("username"));
System.out.println(request.getParameterNames());
System.out.println(request.getCookies());
HttpSession session = request.getSession();
session.setAttribute("user","root");
ServletContext servletContext = session.getServletContext();
servletContext.setAttribute("user1","root1");
}
}
@WebServlet("/servlet1")
public class servlet1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(request.getAttribute("username"));
HttpSession session = request.getSession();
System.out.println(session.getAttribute("user"));
ServletContext servletContext = session.getServletContext();
System.out.println(servletContext.getAttribute("user1"));
}
}
在浏览器先访问servlet的时候,再访问servlet1成功打印出root和root1,而request中的123并未打印出,印证了这一猜想。
Response方法setContentType() 告知浏览器数据类型
比如 response.setContentType("text/html;charset=UTF-8");设置响应的数据类型是html文本,并且告知浏览器,使用UTF-8 来编码。
setCharacterEncoding 设置Response的编码方式
setHeader() 设置消息头
setStatus() 设置状态吗
addCookie() 添加Cookie
sendRedirect()重定向
getOutputStream() 获取通向浏览器的字节流
getWriter() 获取通向浏览器的字符流注意:字节流和字符流不能同时存在
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧