问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

web项目的启动流程

发布网友 发布时间:2022-04-24 18:05

我来回答

4个回答

热心网友 时间:2023-10-30 01:02

一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。

那什么时候需要,什么时候可以不需要呢?
要想回答上面的问题,得先了解web.xml文件使用来干什么的。web.xml文件是用来配置:欢迎页、servlet、filter等的。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程。
那么web.xml能做的所有事情都有那些?
其实,web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能。web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素<web-app>中,都必须标明这个 web.xml使用的是哪个模式文件。如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
而且web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,也即标签元素的种类会越来越多,但有些是不常用的,我们只需记住一些常用的就可以了。

下面列出web.xml常用的标签元素及这些标签元素的功能:
1、指定欢迎页面,例如:
<welcome-file-list>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
上面的例子指定了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的根名。但如果你指定了具体页面,是可以正常访问的。
2、命名与定制URL。我们可以为Servlet和JSP文件命名并定制URL,其中定制URL是依赖一命名的,命名必须在定制URL前。下面拿serlet来举例:
(1)、为Servlet命名:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
</servlet>
(2)、为Servlet定制URL、
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

3、定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。下面哪servlet来举例:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Tommy</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>Tommy@163.com</param-value>
</init-param>
</servlet>
经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
4、指定错误处理页面,可以通过“异常类型”或“错误码”来指定错误处理页面。
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
-----------------------------
<error-page>
<exception-type>java.lang.Exception<exception-type>
<location>/exception.jsp<location>
</error-page>
5、设置过滤器:比如设置一个编码过滤器,过滤所有资源
<filter>
<filter-name>XXXCharaSetFilter</filter-name>
<filter-class>net.test.CharSetFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XXXCharaSetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6、设置*:
<listener>
<listener-class>net.test.XXXLisenet</listener-class>
</listener>
7、设置会话(Session)过期时间,其中时间以分钟为单位,假如设置60分钟超时:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
除了这些标签元素之外,还可以往web.xml中添加那些标签元素呢,那些标签元素都能起什么作用呢?我们只要去查看web.xml的模式文件就能知道。直接看模式文件看不懂,可以找一些中文教程来看看。

热心网友 时间:2023-10-30 01:02

根据你的问题,你基础有待提升啊,web.xml是配置文件,那肯定是一些你的web站点的配置信息啊,这些信息是必不可少的,当然你不选择web.xml文件配置也行,因为配置这些信息的方法不止一种。tomcat是javaweb容器,学习java后台开发,这个容器必须了解的,我以前学的是前端,我的经常菜鸟教材去看看,不过也有你讨论的这些后台基础知识,我收藏了一些网站,你可以点进去看看,web

热心网友 时间:2023-10-30 01:03

这个得看web项目的配置文件怎么写了。。

一般是先读web.xml的,然后读取 struts-config.xml 对应的 action中的方法
指定的 路径,再到 action中看所指向的页面。。
自己这样读的

热心网友 时间:2023-10-30 01:03

太详细了 不好理解. 简单的说. 启动TOMCAT 他就从它工程文件夹下读取工程. 然后寻找WEB.XML 里面是配置你WEB项目内容的. 包括 SERVLET配置. JSP配置 还有参数设置 中心控制器你懂得吗? 就是说TOMCAT容器会自己初始化一个中心控制器 你程序的所有操作 都会通过它去处理. 访问SERVLET JSP 的请求都会交给中心控制器. 然后它分配调用什么东西.返回那个页面.
就这么简单. 负责的工程加上SPRING 或STUTSE 都一个道理.
WOB项目组成 你就可以看成 有 SERVLET JSP组成. 一个是运行和处理. 一个是显示. 然后他们都是由中心控制器 从WEB.XML中得到如何衔接.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
汉江汉江简述 林伽瑜尼 什么意思 脸骨架大的人瘦下来好看吗-脸骨架大怎么瘦下来 故意伤害罪未遂处罚怎么处理 故意伤害犯罪未遂怎么判刑 桌面图标不见了 任务栏也没有了 win7任务栏 桌面图标都不见.管理器打不开 有什么地方可以看柯南啊!要全部!!!请高手! 湘菜红油怎么做 d一link一dlr一605有线路由器平板怎么设置无线 1台1匹空调一个月大概用多少电费 请问1匹的空调一个月能用多少度电? 做一个web项目大概是几个人一起完成?如何分工? 一匹半的空调每天开12小时一个月多少电 web项目和java项目的区别 1匹,1.5匹,2匹,3匹空调耗电量多少 Web项目启动时报错,但是不影响运行和启动 每天空调开一个月,电费大概多少? 空调天天开,白天晚上都开,一个月能用多少度电? 一部一匹空调按每天开8小时,一个月的电费是多少? 如果每天开12小时空调,一个月能用多少度电? 1匹冷暖空调24小时开,一个月能用多少电?电费每月大约需要多少? 1匹冷暖空调24小时开,一个月能用多少电,电费每月大约需要多少? 买房子契税什么时候交,是不是开发商帮我们买房的人交的 2017年达州买房契税和大修基金交不交 购房的契税是什么 厦门市房产契税解读 买房子交契税吗?税率多少?买房的交还是买房的交? 2017年7月份宣城买房免契税吗? 2017买房除了交完契税就没有了吧 如果24小时开空调,每个月得花多少电费? java中web项目与java项目的区别是什么? 空调一个月多少电费!答好的再加20分!!! 什么叫中大型WEB项目? 一匹半的空调一个小时花多少度电? 怎么把java项目变成web项目 用50*50*5的角钢做一个2米*2米的架子承重是多少 50x50x5的角钢4米能承载多少重量 50×50x5角钢一米长的程重力有多少? 角钢的承重如何计算? 角钢的承重怎么计算 方钢和角钢的承重计算公式是怎样的? 单条1米长的50*50*5的角钢能载荷多少 关于角钢、槽钢的承重问题 50厘米3X3角铁水平放置承载力多少? 角钢的承重表 角钢承重 三角铁能承受多大的力 角铁的重量怎么计算 计算公式是什么啊 50×50×2.5的角钢做的三角架的承重是多少