web.xml配置文件详解
web.xml的加载顺序是:<context-param> -> <listener> -> <filter> -> <servlet>
。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。
<context-param>
//对<context-param>中的键值做的操作,会在WEB项目完全启动之前被执行.
<param-name>driver</param-name>
//键
<param-value>com.mysql.jdbc.Driver</param-value>
//由于<context-param>最先执行,所以可以在项目启动前就加载mysql驱动
</context-param>
<!--配置处理请求的servlet-->
<servlet>
<servlet-name> loginServlet </servlet-name>
//servlet的别名
<servlet-class> bao.LoginServlet </servlet-class>
//指定的servlet实现类,参数格式为 含包名的全类名
<!--配置servlet的参数-->
<init-param>
<param-name>userName</param-name>
<param-value>admin</param-value>
</init-param>
</servlet>
<!--映射请求路径-->
<servlet-mapping>
<servlet-name> loginServlet </servlet-name>
//注册的servlet的别名
<url-pattern> /login </url-pattern>
//映射的路径(前端表单中定义的action属性)
</servlet-mapping>
<!--设置网站首页路径(默认访问页面)-->
<welcome-file-list>
<welcome-file>/login.jsp</welcome-file>
</welcome-file-list>
<!--设置网站错误跳转路径-->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
<!--若访问中出现404错误则跳转error.jsp页面-->
</error-page>
- 流程详解:通过前端表单中传回的
action
路径在文件中搜寻是否存在映射的请求路径,若有匹配的路径,则通过在路径映射配置中的servlet-name
别名检索并跳转实现类进行后续操作。 - 映射的路径格式详解:
/login
:精确匹配
*.do
/*.action
:后缀名方式
/
: 缺省的(全包含,任何请求都会响应) 不建议使用 <context-param>
详解:元素含有一对参数名和参数值,用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是唯一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。 子元素包含有参数名,而 子元素包含的是参数值。作为选择,可用 子元素来描述参数。
- 什么情况下使用,为什么使用
:
比如:定义一个管理员email地址用来从程序发送错误,或者与你整个应用程序有关的其他设置。使用自己定义的设置文件需要额外的代码和管理;直接在你的程序中使用硬编码(Hard-coding)参数值会给你之后修改程序带来麻烦,更困难的是,要根据不同的部署使用不同的设置;通过这种办法,可以让其他开发人员更容易找到相关的参数,因为它是一个用于设置这种参数的标准位置。