zoukankan      html  css  js  c++  java
  • Servlet--取得session,application内置对象


    在前面的博客里面,使用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:Workserverapache-tomcat-6.0.37webappslinkin
    		
    	}
    
    	@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>
    


  • 相关阅读:
    从程序员转向项目经理
    LLBL Gen Template Studio 2.x
    抛弃强大的TFS ,借助于BugTracker.NET + Visual Source Safe + SourceLink搭建项目开发环境
    Entity Framework 5中应用表值函数进行Linq查询
    SQL Server 2012 T-SQL 新特性
    当你还在纠结于ORM的性能时,我已经远远的把你抛在脑后
    直接修改.NET程序集 LLBL Gen 2.x-4.x 许可授权方法研究
    企业应用开发模式 ERP项目中应用到的技术和工具
    Enterprise Solution 应用程序开发框架培训
    架构:小议应用开发平台
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233008.html
Copyright © 2011-2022 走看看