Servlet取得初始化配置信息及内置对象

时间:2025-03-18 07:21:16

Servlet取得初始化配置信息:

 

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

 

读取初始化配置信息------

package .servlet_01;

import ;
import ;

import ;
import ;
import ;
import ;
import ;

public class InitParamServlet extends HttpServlet {

	String initParam=null;
	public void init(ServletConfig config) throws ServletException {
		=("ref");
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		("初始化参数:"+);
		
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		(request, response);
	}
}

在中配置初始化信息

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="/xml/ns/javaee" 
	xmlns:xsi="http:///2001/XMLSchema-instance" 
	xsi:schemaLocation="/xml/ns/javaee 
	/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
    <servlet-name>InitParamServlet</servlet-name>
    <servlet-class>.servletd_01.InitParamServlet</servlet-class>
  	<init-param>
  		<param-name>ref</param-name>
  		<param-value>liusheng</param-value>
  	</init-param>
 </servlet>
 <servlet-mapping>
    <servlet-name>InitParamServlet</servlet-name>
    <url-pattern>/InitParamServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file></welcome-file>
  </welcome-file-list>
</web-app>  

 

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

                   初始化参数:liusheng


用<init-param>直接配置初始化

<param-name>表示参数名称

<param-value>表示参数的内容

 

 

注意:

    在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对象---

package .servlet_02;

import ;
import ;

import ;
import ;
import ;
import ;
import ;

public class HttpSessionservlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		HttpSession ses = ();
		("SESSION-->" + ());
		("username", "刘胜");
		("username属性内容是:" + ("username"));
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		(request, response);

	}

}

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="/xml/ns/javaee" 
	xmlns:xsi="http:///2001/XMLSchema-instance" 
	xsi:schemaLocation="/xml/ns/javaee 
	/xml/ns/javaee/web-app_2_5.xsd">
 <servlet>
    <servlet-name>HttpSession</servlet-name>
    <servlet-class>.servlet_02.HttpSessionservlet</servlet-class>
  </servlet>
 <servlet-mapping>
    <servlet-name>HttpSession</servlet-name>
    <url-pattern>/servlet_HttpSession</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file></welcome-file>
  </welcome-file-list>
</web-app>


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

           


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

 

      2、取得ServletContext实例

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

public ServletContext getServletContext()      取得ServletContext对象

 

取得application对象-----

package .servlet_03;

import ;
import ;

import ;
import ;
import ;
import ;

public class ServletContext extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		 app =();
		("真实路径:"+("/"));
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		(request, response);
	}

	
}


配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="/xml/ns/javaee" 
	xmlns:xsi="http:///2001/XMLSchema-instance" 
	xsi:schemaLocation="/xml/ns/javaee 
	/xml/ns/javaee/web-app_2_5.xsd">
 <servlet>
    <servlet-name>ServletContext</servlet-name>
    <servlet-class>.servlet_03.ServletContext</servlet-class>
  </servlet>
<servlet-mapping>
    <servlet-name>ServletContext</servlet-name>
    <url-pattern>/servlet_ServletContext</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file></welcome-file>
  </welcome-file-list>
</web-app>


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

           

 

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