web.XML文件内容

web.xml是在学习javaWeb时遇到的第一个坑,刚开始不知道有什么用的时候真是GGG…..一万个跑不起来。(基础不牢的可怕…)
于是在知识丰富后决定写点东西记录一下(放置自己忘了)

web项目中,xml文件要和servelt类配合使用,准确地说web.xml文件就是servelt的配置文件

学过html的人应该都能理解标签的作用,web.xml就是通过标签来进行名称,路由和servelt的相互关联的.

基本的xml是这样的

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>d</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  ........
</web-app>

目前所有的内容都可以由编译器自动生成,无需更改。不过可以根据自己的需要修改welcome-file-list中的内容,运行时输入项目名会直接访问到列表中第一个文件,没有的话会访问第二个,依次类推;

……处将填入servelt的配置信息

<servlet>
   <servelt-name>Myservelet</servelt-name>
   <servelt-class>web.app.Myservelt</servelt-class>
   <servelt-name>...</servelt-name>
   <servelt-class>....</servelt-class>
   ..
</servlet>
<servlet-mapping>
   <servelt-name>Myservelet</servelt-name>
   <url-pattern>/helloWorld</url-pattern>
   <servelt-name>..</servelt-name>
   <url-pattern>..</url-pattern>
</servlet-mapping>

servelt标签中的内容是注册一个servelt,其中的servelt-name代表注册servelt的类名,后续的servelt-class是完整的路径
servlet-mapping用来映射外部访问时的虚拟路径。url-pattern是一个以/开头的字符串,可以通过项目网址+url-pattern的方式来访问到该servelt(只有映射到虚拟路径的servelt才能被被客户端访问到)

一些注意的地方

servlet-mapping中可以对同一个name配多个url-pattern,然后同一个servelt可以通过多个路径访问

url-pattern中可以使用通配符,支持的格式有(1)*.xx(2)xx/*
(1)可以匹配任何以.xx结尾的路径
(2)可以匹配任何以xx开头的路径
两种通配符不能同时使用
如果可以匹配到多个存在的路径的话,
会有一个比较
无通配符url>有通配符url
xx/*>/*
xx/*>*.xx
/*>*.xx

url-pattern 为“/”的servlet为默认servelt,所有URL地址不存在的访问,都会转交至默认servlet

web.xml中的其它内容

<init-param>
  <param-name></param-name>
  <param-value></param-value>
</init-param>

init-param标签是sevelt标签下的一个子标签,用来确认一些基础属性(比如字符编码)param-name和param-value中分别填入属性名和属性值,运行时这些属性会被封装为一个serveltCOnfig对象传递给servelt

应用程序配置

<context-param>
   <param-name>dd</param-name>
   <param-value>dd</param-value>
</context-param>
<context-param>
   <param-name>dd</param-name>
   <param-value>dd</param-value>
</context-param>

使用与上文类似,不过直接放在根元素中,同样在启动时会被封装为ServeltContext对象使用(除了配置信息外,还可以传递全局参数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值