servlet 配置信息及初始化参数


Servlet取得初始化配置信息:

 

通过config对象可以读取web.xml中的配置的初始化参数,此对象实际上是ServletConfig借口的实例。可以通过init()方法找到ServletConfig接口实例。

 

读取初始化配置信息------InitParamServlet.Java

[java]  view plain  copy
  1. package com.ls.servlet_01;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletConfig;  
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11.   
  12. public class InitParamServlet extends HttpServlet {  
  13.   
  14.     String initParam=null;  
  15.     public void init(ServletConfig config) throws ServletException {  
  16.         this.initParam=config.getInitParameter("ref");  
  17.     }  
  18.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  19.             throws ServletException, IOException {  
  20.         System.out.println("初始化参数:"+this.initParam);  
  21.           
  22.     }  
  23.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  24.             throws ServletException, IOException {  
  25.         this.doGet(request, response);  
  26.     }  
  27. }  

在web.xml中配置初始化信息

[java]  view plain  copy
  1. "1.0" encoding="UTF-8"?>  
  2. "2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.   
  8.     InitParamServlet  
  9.     class>com.ls.servletd_01.InitParamServletclass>  
  10.       
  11.         ref  
  12.         liusheng  
  13.       
  14.    
  15.    
  16.     InitParamServlet  
  17.     /InitParamServlet  
  18.     
  19.     
  20.     index.jsp  
  21.     
  22.     

 

程序运行结果:在Tomcat后台打印

                   初始化参数:liusheng


直接配置初始化

表示参数名称

表示参数的内容

 

 

注意:

    在Servlet中初始化方法一共有init()和init(ServletConfig config)两个,如果两个初始化方法同时出现,则调用的是init(ServletConfig config)方法。

 

Servlet取得其他内置对象:

   

    1、取得HttpSession实例

在servlet程序中要想取得一个session对象,则可以通过HttpServletRequest接口完成,有以下操作方法:

public HttpSession getSession()      返回当前的session

public HttpSession  getSession(boolean  create)     返回当前的session,如果没有则创建一个新的session对象返回

 

取得HttpSession对象---HttpSessionservlet.java

[java]  view plain  copy
  1. package com.ls.servlet_02;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10. import javax.servlet.http.HttpSession;  
  11.   
  12. public class HttpSessionservlet extends HttpServlet {  
  13.   
  14.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  15.             throws ServletException, IOException {  
  16.         HttpSession ses = request.getSession();  
  17.         System.out.println("SESSION-->" + ses.getId());  
  18.         ses.setAttribute("username""刘胜");  
  19.         System.out.println("username属性内容是:" + ses.getAttribute("username"));  
  20.     }  
  21.   
  22.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  23.             throws ServletException, IOException {  
  24.         this.doGet(request, response);  
  25.   
  26.     }  
  27.   
  28. }  

配置web.xml文件

[java]  view plain  copy
  1. "1.0" encoding="UTF-8"?>  
  2. "2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.    
  8.     HttpSession  
  9.     class>com.ls.servlet_02.HttpSessionservletclass>  
  10.     
  11.    
  12.     HttpSession  
  13.     /servlet_HttpSession  
  14.     
  15.     
  16.     index.jsp  
  17.     
  18.   


程序运行结果: Tomcat后台显示

           


 本程序通过getSession()方法取得了一个HttpSession对象后,输出了Session Id以及属性的设置及取得操作。

 

      2、取得ServletContext实例

application内置对象是ServletContext 接口的实例,表示的是Servlet上下文。如果要在一个servlet中使用此现象,直接通过GenericServlet类提供的方法即可:

public ServletContext getServletContext()      取得ServletContext对象

 

取得application对象-----ServletContext.java

[java]  view plain  copy
  1. package com.ls.servlet_03;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. public class ServletContext extends HttpServlet {  
  12.   
  13.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  14.             throws ServletException, IOException {  
  15.         javax.servlet.ServletContext app =super.getServletContext();  
  16.         System.out.println("真实路径:"+app.getRealPath("/"));  
  17.     }  
  18.   
  19.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  20.             throws ServletException, IOException {  
  21.   
  22.         this.doGet(request, response);  
  23.     }  
  24.   
  25.       
  26. }  


配置web.xml文件

[java]  view plain  copy
  1. "1.0" encoding="UTF-8"?>  
  2. "2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.    
  8.     ServletContext  
  9.     class>com.ls.servlet_03.ServletContextclass>  
  10.     
  11.   
  12.     ServletContext  
  13.     /servlet_ServletContext  
  14.     
  15.     
  16.     index.jsp  
  17.     
  18.   


程序运行结果:  Tomcat后台输出

           

 

    本程序通过getServletContext()方法取得ServletContext实例后,将虚拟目录所对应的真实路径输出。

 

 

 

 

 

                                                                                                        


你可能感兴趣的:(Servlet)