JSP内置对象之WEB安全性及config对象

一、WEB-INF的安全性是最高的。

在Java EE的标准中,Web目录中的WEB-INF是必须存在的,而且此文件夹的安全性是最高的,在各个程序的开发中,基本上都将一些配置信息保存在此文件夹中。在定义WEB-INF目录时一定要注意大小写的问题,这里的字母都必须是大写。而且WEB-INF中的文件只有通过映射才能访问。

  1. <servlet>  
  2.     <servlet-name>he</servlet-name>  
  3.     <jsp-file>/WEB-INF/hello.jsp</jsp-file>  
  4.   </servlet>  
  5.   <servlet-mapping>  
  6.     <servlet-name>he</servlet-name>  
  7.     <url-pattern>/hello.joywy</url-pattern>  
  8.   </servlet-mapping>  
<servlet>
	<servlet-name>he</servlet-name>
	<jsp-file>/WEB-INF/hello.jsp</jsp-file>
  </servlet>
  <servlet-mapping>
	<servlet-name>he</servlet-name>
	<url-pattern>/hello.joywy</url-pattern>
  </servlet-mapping>

以上是将/WEB-INF/hello.jsp的文件映射成为一个“/hello.joywy"的访问路径,以后只要用户输入"/hello.joywy",就会自动根据<servlet-mapping>节点配置中的<servlet-name>找到对应的<servlet>节点,并找到其中的<jsp-file>所指定的真实文件路径以执行程序。

ServletMapping表示的是一个映射路径的配置,在访问的时候直接输入url-pattern指定的内容之后就可以找到servlet-name再找到servlet节点中配置的jsp-file,从而实现jsp文件的访问。但是配置完成之后一定要注意的是必须重新启动服务器。
<servlet-name>节点是在web.xml内部起作用。<servlet-name>节点的主要功能是连接<servlet>和<servlet-mapping>节点,此节点只在配置文件的内部起作用,并且不能重名。

二、config对象

1.config对象是javax.servlet.ServletConfig接口的实例化对象,主要的功能是取得一些初始化的配置信息。

2.常用方法:

(1)取得指定名称的初始化参数内容

public String getInitParameter(String name)

(2)取得全部的初始化参数名称

public Enumeration getInitParameterNames()

在web.xml文件中配置

  1. <servlet>  
  2.     <servlet-name>he</servlet-name>  
  3.     <jsp-file>/WEB-INF/hello.jsp</jsp-file>  
  4.     <init-param>  
  5.         <param-name>driver</param-name>  
  6.         <param-value>org.gjt.mm.mysql.Driver</param-value>  
  7.     </init-param>  
  8.     <init-param>  
  9.         <param-name>url</param-name>  
  10.         <param-value>jdbc:mysql://localhost:3306/joywy</param-value>  
  11.     </init-param>  
  12.   </servlet>  
  13.   <servlet-mapping>  
  14.     <servlet-name>he</servlet-name>  
  15.     <url-pattern>/hello.mldn</url-pattern>  
  16.   </servlet-mapping>  
<servlet>
	<servlet-name>he</servlet-name>
	<jsp-file>/WEB-INF/hello.jsp</jsp-file>
	<init-param>
		<param-name>driver</param-name>
		<param-value>org.gjt.mm.mysql.Driver</param-value>
	</init-param>
	<init-param>
		<param-name>url</param-name>
		<param-value>jdbc:mysql://localhost:3306/joywy</param-value>
	</init-param>
  </servlet>
  <servlet-mapping>
	<servlet-name>he</servlet-name>
	<url-pattern>/hello.mldn</url-pattern>
  </servlet-mapping>

WEB-INF目录下hello.jsp

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>  
  2. <html>  
  3. <head><title>欢迎来到望星空</title></head>  
  4. <body>  
  5. <%  
  6.     String dbDriver = config.getInitParameter("driver");      <!-- 输出取得的初始化参数内容 -->  
  7.     String dbUrl = config.getInitParameter("url");            <!-- 输出取得的初始化参数内容 -->  
  8. %>     
  9. <h3>驱动程序:<%=dbDriver%></h3>  
  10. <h3>连接地址:<%=dbUrl%></h3>  
  11. </body>  
  12. </html>  

转自:http://www.cnblogs.com/losesea/admin/EditPosts.aspx?opt=1

原文地址:https://www.cnblogs.com/losesea/p/3425871.html