tomcat服务器配置的时候,在虚拟目录中必须存在一个WEB-INF文件夹,但是访问的时候并不能发现这个文件夹。改成WEB-INFs就可以看到。
所以WEB-INF文件夹不轻易让用户看到,那么其安全性高!
那么把一个jsp文件放到WEB-INF文件夹里的话呢?肯定是最安全的。那么该如何访问呢?
此时,可以通过映射路径的方式完成。
要想完成映射,完成web.xml即可。
<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.mldn</url-pattern> </servlet-mapping>
servletMapping表示的是一个映射路径的配置,在访问的时候直接输入url-pattern指定的内容就可以找到servlet-name再找到servlet节点中配置的jsp-file,从而实现jsp文件的访问。
但是配置完成后,一定要重启服务器。
hello.jsp:
<html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% out.println("<h1>Hello World!!!</h1>") ; %> </body> </html>
浏览器通过 http://localhost:8080/wly/hello.mldn访问
但是,这种web安全性明白,但是和config对象有什么关系呢?
这种关系很明显,因为config对象只有在对映射后的jsp文件才有作用。
config对象是javax.servlet.ServletConfig接口的实例化对象,常用方法:
1. java.lang.String getInitParameter(java.lang.String name)
2. java.util.Enumeration<java.lang.String> getInitParameterNames()
所有初始化参数都需要在web.xml文件中配置出来。
<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/mldn</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>he</servlet-name> <url-pattern>/hello.mldn</url-pattern> </servlet-mapping>
获取配置信息init.jsp并放入web.xml中:
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head> <body> <% String dbDriver = config.getInitParameter("driver") ; String dbUrl = config.getInitParameter("url") ; %> <h3>驱动程序:<%=dbDriver%></h3> <h3>连接地址:<%=dbUrl%></h3> </body> </html>
通过http://localhost:8080/wly/config.mldn可以访问