servlet 如何配置到 web.xml

Web 安全目录

我们知道,在 web 工程下,必定有一个 WEB-INF 目录,所有 Web 工程中非 JSP 也就是所有的 Java 程序都会被部署到 WEB-INF 目录中执行。并且浏览器不能访问这个目录下面的资源。所以一些重要的文件我们可以放到这里。

JSP 映射文件的配置

映射文件的配置,是很好理解的,就是一个 jsp,配置一个新的访问路径。映射的配置在web.xml文件中完成。Web.xml文件叫做web工程的部署描述符,具体来说就是对Web工程进行一些配置。

如何配置一个 jsp 映射呢,我们在 web.xml 使用 servlet 标签,如下:

<servlet>
  	<!-- 给要配置的Servlet起别名,不能与其他的serlvet-name重复 -->
  	<servlet-name>webSafe</servlet-name>
  	<!-- 配置这个servlet对应的jsp在工程中的实际路径 -->
  	<jsp-file>/WEB-INF/webSafe.jsp</jsp-file>
  </servlet>
  <!-- 给指定的Servlet标签配置一个URL的映射地址 -->
  <servlet-mapping>
  	<servlet-name>webSafe</servlet-name>
  	<!-- 配置的新的映射地址 -->
  	<url-pattern>/abc</url-pattern>	
  </servlet-mapping>

虽然无法访问 web-info 下的资源,但是我们可以通过以上方式建立新的映射虚拟路径访问/abc

这里流程可以这样理解,我们在地址栏输入 \abc 的时候,服务器它会找到 servlet-mapping 标签,看到 servlet-name 为 webSafe,然后再 servlet 标签找对应 servlet-name 叫做 webSafe 的,然后就可以找到对应的 jsp-file 文件了。

这里,一个 servlet 可以对应多个 servlet-mapping ,也就是多个映射地址。注意这里 servlet 标签下的 servlet-name 不能和其他的 servlet 标签重复。

web.xml 其他配置

  • 配置错误页面

我们知道,输入地址有误会报 404,服务器有问题会报 500,这个时候我们要再报错的时候,让他去一个友好的错误提示页面,怎么做呢?如下使用 error-page 标签

 <!-- 配置错误页面 -->
 <!--  <error-page>
  	<error-code>404</error-code>
  	<location>/error/error.jsp</location>
  </error-page>
  <error-page>
  	<error-code>500</error-code>
  	<location>/error/error.jsp</location>
  </error-page> -->
  • 配置 session 失效时间

我们可以再 web.xml 配置 session 多久失效,我这里举个 30 分钟的例子:

  <session-config>
  	<session-timeout>30</session-timeout>
  </session-config>
  • 配置初始化参数

这里还有内置对象 Config ,它主要用于 tomcat 启动的时候做些什么,它主要有两个方法

  • String getInitParameter(String name):根据参数名称获得初始化配置的参数
  • Enumeration getInitParameterNames():获得所有初始化配置参数的名称

这里的初始化参数是要在 web.xml 文件中配置的。配置的初始化参数在 servlet 被第一次加载/tomcat 启动时就自动设置。

范例:设置和取得初始化参数

web.xml 如下代码

<servlet>
  	<servlet-name>webSafe</servlet-name>
  	<jsp-file>/WEB-INF/webSafe.jsp</jsp-file>
  	<!-- 配置初始化参数 -->
  	<init-param>
  		<param-name>name</param-name>
  		<param-value>小王</param-value>
  	</init-param>
  	<init-param>
  		<param-name>tel</param-name>
  		<param-value>12312431243</param-value>
  	</init-param>
  	<!-- 表示tomcat启动的时候就加载这个Servlet,如果不配置,则表示此Servlet在第一次访问之前被加载 -->
  	<load-on-startup>1</load-on-startup> 
  </servlet>

接下来在 jsp 我们可以这样写:

<h1><%=config.getInitParameter("name") %></h1>
<h1><%=config.getInitParameter("tel") %></h1>
  • 配置初始界面

在直接访问项目的目录时,我们可以显示一个欢迎界面,示例代码如下:

  <!-- 配置欢迎界面 -->
  <welcome-file-list>
    <welcome-file>login/login.jsp</welcome-file>
  </welcome-file-list>
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值