Servlet JSP : web.xml 配置学习

 2023-09-05 阅读 67 评论 0

摘要:一.定义 定义时注意:xml元素是区分大小写的,以下必须小写: <web-app></web-app> 二.url-pattern 1)url-pattern 的值必须以/或者*.开头 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <servlet> <servlet-name>TestName</serv

一.定义

定义时注意:xml元素是区分大小写的,以下必须小写:

<web-app></web-app>

二.url-pattern

1)url-pattern 的值必须以/或者*.开头

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  <servlet>
    <servlet-name>TestName</servlet-name>
    <servlet-class>sedion.jeffli.servlet.AServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestName</servlet-name>
    <url-pattern>/UrlTest1</url-pattern>
  </servlet-mapping>
<!--
  <servlet-mapping>
      <servlet-name>TestName</servlet-name>
      <url-pattern>*.urlTest1</url-pattern>
    </servlet-mapping>
-->

2)匹配模式的规则

①优先处理完全匹配

/test1/aa 和 /test1/* 都是一个url-pattern访问路径,则优先请求 http://localhost/webAppTest/test1/aa

②目录映射优先于扩展名映射

/test1/aa 和 /test1/*.html 都是合法的url-pattern访问路径,则优先请求 http://localhost/webAppTest/test1/aa/test.html

③对于重复映射,越长路径越优先

/test1/aa/* 和 /test1/* 都是一个url-pattern访问路径,则优先请求 http://localhost/webAppTest/test1/aa/test.html

三.过滤器

在web.xml文件中使用 filter元素和 filter-name(任意名),filer-class(完全限定类名)声明:

<filter>
<filter-name>
TestFilterName
</filter-name>
<filter-class>
sedion.jeffli.testFilter
</filter-class>
</filter>

通过filter-mapping与

①【servlet-name】一个元素或者多个servlet关联

<filter-mapping><filter-name>TestFilterName</filter-name><servlet-name>SomeServletName</servlet-name>
</fitler-mapping>

【url-pattern】jsp页面关联

<filter-mapping><filter-name>TestFilterName</filter-name><url-pattern>/*</url-pattern>
</fitler-mapping>

四、配置jsp页面

jsp-config 中有两个子元素【taglib】【jsp-property-group】,注意,前者必须出现在后者之前。

【taglib】替代jsp页面中taglib指令

<jsp-config><taglib><taglib-uri>/taglibtest</taglib-uri><taglib-location>/WEB-INF/tlds/test-tags.tld</taglib-location></taglib>
</jsp-config>

配置后,在页面可以用下面简单方式调用标签库

<% taglib uri="/taglibtest" prefix="somePrefix">

五、面向群集环境的开发

例如,tomcat自带一个软件负载器,存在Web应用的tomcat_dir/weapps/blalancer中。

开发一个应用于群集环境的Web应用注意以下几点:

①避免创建实例化变量和静态数据来共享数据。

②不要将数据存储在 ServletContext

③存储在HttpSession中的对象需要实现Serializable接口

如果HttpSession保存的对象不实现Serializable接口,容器便不能迁移会话。

④尽量少在HttpSession中存储信息

在HttpSession中存储大量数据,会降低Web应用性能,特别是请求量相当高时。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/1150.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息