一.定义
定义时注意: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应用性能,特别是请求量相当高时。