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

时间:2023-03-09 04:54:06
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