Servlet--取得session,application内置对象

原创 2015年07月08日 08:45:52

在前面的博客里面,使用Servlet取得了request,response,config对象,实际上通过Servlet程序也可以取得session,application等内置对象。


1,通过HttpServletRequest取得HttpSession

<span style="white-space:pre">	</span>//返回当前的session
	public abstract HttpSession getSession();
	//返回当前的session,如果没有则创建一个新的session对象返回
	public abstract HttpSession getSession(boolean paramBoolean);

package linkin;

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;

public class LinkinServlet extends HttpServlet
{
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		HttpSession session = req.getSession();
		System.out.println(session.getId());//4214F4CE399E02730C3219CF0BD83623
		session.setAttribute("age", 25);
		System.out.println(session.getAttribute("age"));//25
		
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		this.doGet(req, resp);
	}

}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	
	<servlet>
		<servlet-name>LinkinServlet</servlet-name>
		<servlet-class>linkin.LinkinServlet</servlet-class>
		<init-param>
			<param-name>name</param-name>
		<param-value>LinkinPark...</param-value>
		</init-param>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>LinkinServlet</servlet-name>
		<url-pattern>/LinkinServlet</url-pattern>
	</servlet-mapping>

</web-app>


2,利用GenericServlet取得ServletContext实例

public ServletContext getServletContext()
  {
    return getServletConfig().getServletContext();
  }

package linkin;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LinkinServlet extends HttpServlet
{
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		ServletContext context = getServletContext();
		//获取“/”,也就是项目实际在服务器上物理位置
		System.out.println(context.getRealPath("/"));//E:\Workserver\apache-tomcat-6.0.37\webapps\linkin\
		
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		this.doGet(req, resp);
	}

}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	
	<servlet>
		<servlet-name>LinkinServlet</servlet-name>
		<servlet-class>linkin.LinkinServlet</servlet-class>
		<init-param>
			<param-name>name</param-name>
		<param-value>LinkinPark...</param-value>
		</init-param>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>LinkinServlet</servlet-name>
		<url-pattern>/LinkinServlet</url-pattern>
	</servlet-mapping>

</web-app>


版权声明:本文为博主原创文章,欢迎大家转载。如有错误请多多指教。

jsp中9个内置对象与servlet对应关系及四个作用域

参考:  《jsp&servlet学习笔记.第2版.林信良》 《JSR-245 JavaServer Pages 2.2 Maintenance Release Specification》 ...
  • machinecat0898
  • machinecat0898
  • 2014年04月10日 20:46
  • 24760

JSP学习笔记五之application和page对象

这篇博客将9大对象的剩下的对象部分全部讲掉。 E、Application内置对象 Application对象直接包装了servlet的ServletContext类的对象,是javax.ser...
  • LULEI1217
  • LULEI1217
  • 2016年02月27日 16:30
  • 2036

根据sessionid获取session的被Servlet2.1抛弃getsession方法的解决方案

最近一个项目中用到了getsession根据sessionid来获取session,但是怎么获取都为空,请教N多人,才发现在servlet的api中有如下:            HttpSessio...
  • unesco3187
  • unesco3187
  • 2015年10月14日 13:48
  • 1494

ASP.NET中几个重要内置对象的使用(包含SESSION\COOKIE\APPLICATION的区别和应用等)

  • 2010年01月02日 13:26
  • 34KB
  • 下载

JSP内置对象之------response、session、application

1. 重定向和转发    response.sendRedirect("地址"); a. 页面地址显示最终页面         b. 不可向后传递参数         c. 跳到外部站点 ...
  • emilyRR
  • emilyRR
  • 2015年03月29日 22:40
  • 635

JSP内置对象(主要指page、request、session、application)

JSP内置对象 为了简化Web应用程序的开发,在JSP中定义了一些由JSP容器实现和管理的内置对象,这些对象可以直接在JSP页面中使用,而不需要JSP页面编写者对它们实例化。 9种内置对象: r...
  • Songjs19931206
  • Songjs19931206
  • 2015年08月15日 14:30
  • 1674

【JSP笔记】内置对象(二)session、application

三.session对象 session对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的操作状态。session对象内部使用 Map类 来保存...
  • fanfan_yang
  • fanfan_yang
  • 2017年11月30日 21:51
  • 102

JSP九大内置对象(Request,Response,Out,Session,Application,Cookie,Config,Page,Exception)

1、Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。 当Request对象获取客户提交的汉字字符时,会出现乱码问...
  • figo0423
  • figo0423
  • 2017年01月12日 09:48
  • 887

JSP——内置对象application out session request response+EL+uplaod+download

JSP——内置对象application out session  request response+EL+uplaod+download JSP内置对象application  out  sess...
  • zhangyufeng0126
  • zhangyufeng0126
  • 2016年10月19日 22:03
  • 662

Asp.Net Application和Session内置对象讲解

利用Application 和Session 对象分别对页面的值进行加一 首先看下页面部分的代码...
  • mq_shouhug753951mq
  • mq_shouhug753951mq
  • 2015年09月09日 22:15
  • 182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Servlet--取得session,application内置对象
举报原因:
原因补充:

(最多只允许输入30个字)