andy_taoke
大家一起来学JAVA
posts - 9,comments - 3,trackbacks - 0
上次看到处理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 阅读(574) 评论(1)  编辑  收藏

FeedBack:
# re: Java Servlet学习笔记4
2006-08-22 23:34 | 猿人
写的稍微有点凌乱,不过还是很有帮助,谢谢bz

期待下一篇文章  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: