上次看到处理HEAD请求,下面是关于Web应用程序的配置问题。
Web应用程序是Servlet、JSP、HTML文档、图片、模版以及其他可在支持Servlet的Web服务器上部署的所有Web资源的一个集合。
(这句话好长,总之就是你能在网上看到的东西,或者一些产生动态Web页的程序)。
我们安装了Tomcat就会知道,在webapps文件夹下面有很多的子文件夹,一个文件夹对应一个应用程序。他们是一堆的JSP程序以及配置文件。另外我们可以给他打包,成为一个存档文件,扩展名为:war。
WEB-INF目录
每个Web Apps,都有一个这样的目录,有一个web.xml文件。
现在对xml作一点学习:
XML是eXtensible Markup Language
他与HTML类似,都是用标签标记它的内容,并用尖括号来结束;
XML和HTML的服务目标是不同的:XML文档中的标签没有定义文字的显示格式,而是解释了文本的意思。它是一个可扩展的标记语言,他可以定制一些新的标签来写你自己需要的文档。
有几个要注意的地方:
1、XML区分大小写(大小写敏感)
2、又开始的标签必须有结束(标签必须是一对)要么就这么写:<servlet/>,用来代替一对的符号
3、嵌套的元素不可以重叠!例如这样写就是非法的<outside><inside></outside></inside>
4、所有数值必须加上单引号或者双引号
配置描述符:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>
hi
</servlet-name>
<servlet-class>
HelloWorld
</servlet-class>
</servlet>
</web-app>
web-app标签表示这些是用来配置一个web应用程序的,servletname是一个你所写的servlet的名字,class是他的类名,可以写成所属包名+类名的形式,有些IDE可以自动的生成。
servlet映射
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>
hi
</servlet-name>
<servlet-class>
HelloWorld
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
hi
</servlet-name>
<url-pattern>
/hello.html
</url-patter>
</servlet-mapping>
</web-app>
servlet-mapping表示他来标示servlet的映射信息,映射过后我们就可以用自己定义的地址来访问他;
其中有两个子标签,一个是name,另一个是url-pattern。第一个不用说就是servlet里面定义的那个name;
url-pattern指的是上面那个servlet-name所指定的servlet可以在浏览器中用什么样的url访问。
设置有几种:
明确映射,就是一个地址,跟普通的相对路径没有什么区别。
路径前缀映射,/lite/*这样子的url-pattern
就是以/开头,/*结尾,处理所有拥有该前缀的请求。这种映射机制,允许一个servlet来控制一个虚拟目录层次的sevlet请求。
扩展名映像:
*.jsp
可以表示这个servlet用来处理所有的JSP请求。
默认映射,/
如果没有与之相匹配的servlet可以处理该请求,则将这个请求扔给这个servlet,等同于/*,要慎用!
posted on 2005-12-30 13:33
Fusion KISS 阅读(582)
评论(1) 编辑 收藏