千家信息网

如何解析JavaWeb工程web.xml基本配置过程

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,如何解析JavaWeb工程web.xml基本配置过程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一.理论准备先说下我记得xml规则
千家信息网最后更新 2024年09月22日如何解析JavaWeb工程web.xml基本配置过程

如何解析JavaWeb工程web.xml基本配置过程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一.理论准备

先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对。

web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文件是很方便的,若是没有也会很复杂。

那么web.xml能做的所有事情都有那些?其实,web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能。web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素中,都必须标明这个web.xml使用的是哪个模式文件。 来看个例子:

db index.html index.htm index.jsp default.html default.htm default.jsp

二.标签元素

指定欢迎页面

index.jsp index1.jsp

上面的例子指定了2个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。如果第一个不存在,就找第二个,以此类推。

关于欢迎页面:访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在web.xml中指定欢迎页。但web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的。只不过网站的功能复杂起来后,web.xml的确有非常大用处,所以,默认创建的动态web工程在WEB-INF文件夹下面都有一个web.xml文件。

对于tomcat来说,当你只指定一个web的根名,没有指定具体页面,去访问时一个web时,如果web.xml文件中配置了欢迎页,那么就返回指定的那个页面作为欢迎页,而在文中没有web.xml文件,或虽然有web.xml,但web.xml也没指定欢迎页的情况下,它默认先查找index.html文件,如果找到了,就把index.html作为欢迎页还回给浏览器。如果没找到index.html,tomcat就去找index.jsp。找到index.jsp就把它作为欢迎页面返回。而如果index.html和index.jsp都没找到,又没有用web.xml文件指定欢迎页面,那此时tomcat就不知道该返回哪个文件了,它就显示The requested resource (/XXX) is not available(我就出现过这个问题)的页面。其中XXX表示web的根名。但如果你指定了具体页面,是可以正常访问的。

命名与定制URL

servlet1 net.test.TestServlet servlet1 *.do

url-pattern的意思是所有的.do文件都会经过TestServlet处理。

定制初始化参数

servlet1 net.test.TestServlet userName Tommy E-mail Tommy@163.com

经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。

//上下文参数:声明应用范围内的初始化参数。 ContextParameter test It is a test parameter. //在servlet里面可以通过getServletContext().getInitParameter("context/param")

得到

指定错误处理页面,可以通过"异常类型"或"错误码"来指定错误处理页面。

404 /error404.jsp----------------------------- java.lang.Exception /exception.jsp java.lang.NullException /error.jsp

设置过滤器:比如设置一个编码过滤器,过滤所有资源

XXXCharaSetFilter net.test.CharSetFilter XXXCharaSetFilter /*

6.设置监听器

web.xml中的有什么用? 没别的用处!就是配置监听类的~,它能捕捉到服务器的启动和停止! 在启动和停止触发里面的方法做相应的操作! 它必须在web.xml 中配置才能使用! web.xml 中listener元素不是只能有一个,有多个时按顺序执行。

如何在web.xml向listener中传参数 ?

监听器类的完整路径

监听器中不能够写初始化参数; 可通过另个的途径达到初始化参数的效果: 1.写一个properties文件,在文件里写好初始化参数值, 2.在监听器中可以通得到properties文件中的值(写在静态块中)。

设置会话(Session)过期时间,其中时间以分钟为单位

60

除了这些标签元素之外,还可以往web.xml中添加那些标签元素呢,那些标签元素都能起什么作用呢?我们只要去查看web.xml的模式文件就能知道。直接看模式文件看不懂,可以找一些中文教程来看看。

三.遗留问题

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资 料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只 是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会 因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet 。 如果某个会话在一定时间内未被访问,服务器可 以抛弃它以节省内存。可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对 象的超时值,或者可利用session-config元素制定缺省超时值。

指示服务器在收到引用一个目录名而不是 文件名的URL时,使用哪个文件。

web.xml中怎么配置url-pattern? 首先要知道 web.xml 中url-pattern的作用,他是给外部提供的一个访问DoGetDemo类的接口,你可以自己随意定义,然后在IE里面写入这个配置内容。 可以看我给你写的一个例子图片,应该一下就看懂的,用 SimpleHello.java 为例,看图片,访问的时候,可以输入下面的网址 http://192.168.0.67:8888/book/hello 这样,服务器就可以通过 /hello 找到ch06.SimpleHello类,因此你的 里面的内容可以自己定义。然后在应用目录下访问这个servlet 。

web.xml中既然有url-pattern为什么还需要servlet-class呢?url-pattern是表明什么格式的的url进入这个servlet ,servlet-class 是表明哪个java类来处理这个请求 ,一个请求过来,先到servlet-mapping中去根据请求的url寻找这个url所对应的url-pattern,找到url-pattern后找到了servlet-name, 然后根据servlet-name和servlet中的servlet-name对应找到其所对应的servlet-class,具体的业务逻辑就写在来servlet-class对应的java类中了!

关于如何解析JavaWeb工程web.xml基本配置过程问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

文件 页面 配置 元素 参数 标签 模式 问题 监听 工程 服务器 监听器 顺序 处理 服务 作用 例子 内容 可以通过 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 电脑有网络安全模式有什么用 ipfs分布式存储服务器的发布 软件开发和编程什么关系 数据库查询指定字段长度 网络技术教案说课模板 连接池超出无法连接数据库 云顶之弈端游哪个区服务器好一点 宽带运营商网络服务器 组织开展国家网络安全宣传活动 少年网络安全事件 epic出现服务器离线怎么办 蔚来汽车软件开发测试工程师 昆明 软件开发兼职 北京中国移动网络技术有限公司 贵阳定位软件开发 联机服务器操作nas文件 是否每个公司都有自己的数据库 数据库视图创建 高中网络技术应用的思维导图 月报软件开发模板 宜兴智能软件开发项目信息 两个服务器的缓存怎样同步 为什么数据库拒绝访问 网络安全培训讲师简介 王者荣耀充值哪个服务器便宜 关于网络安全的课本剧台词 福建水投公司软件开发 广工大数据库试卷 珠海飞企互联网科技公司韩恒 有服务器还用电脑主机吗
0