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实例后,将虚拟目录所对应的真实路径输出。