① web.xml文件主要配置有哪些,都有什么含义
①web.xml文件是用来配置:欢迎页、servlet、filter等配置文件用的。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程
web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,
也即标签元素的种类会越来越多,但有些是不常用的,我们只需记住一些常用的就可以了。
首先是定义头和根元素
声明为xml文件,版本为1.0,编码为utf-8
声明该文件的内容可以使用xsi的标签库
声明标签的使用范围是被javaee的开发使用的
声明可以使用的标签库和对应的具体的标签库版本地址。
web.xml的模式(Schema)文件中定义了多少种标签元素,它就能拥有定义出来的那些功能
随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,也即标签元素的种类会越来越多.
定义项目的名称.
项目名称
欢迎页面
servlet
配置springmvc DispatcherServlet( 前台控制器)-->example这个Servlet的名字是example,可以有多个DispatcherServlet,是通过名字来区分的。
async-supported
启动一个新的线程去处理你的请求,完成之后调用你指定的回调函数来完成整个异步操作。
一般的jsp是通过地址栏输入一个地址,或者提交表单的方式发送请求的,这样网页都会被刷新。但是如果你在jsp页面发送一个ajax请求的话,跟前两种不同,
后台会返回给jsp页面内容,页面不会直接刷新,这样可以把返回的数据写在页面的div中,这样就完成了页面的局部刷新。
举个例子,你做一个查询功能,页面上有查询条件和查询结果显示区域,你可以点查询按钮的时候通过ajax异步发送你的查询条件,
而你得到后台返回的查询结果后,更新你的jsp页面的查询结果,jsp的其他部分,比如查询条件,都没有更新,jsp没有刷新,而是更新了查询结果这一块内容
url-pattern 默认匹配所有请求Servlet拦截匹配规则可以自已定义1、拦截*.do、*.htm, 例如:/user/add.do,这是最传统的方式,最简单也最实用。不会导致静态文件(jpg,js,css)被拦截。2、拦截/,例如:/user/add,可以实现现在很流行的REST风格。很多互联网类型的应用很喜欢这种风格的URL。弊端:会导致静态文件(jpg,js,css)被拦截后不能正常显示。
监听器
Listener获取的是Web应用ServletContext(application)的配置参数。-为Web应用配置Listener的两种方式: 使用@WebListener修饰Listener实现类即可 在web.xml文档中使用进行配置。我们选择web.xml这种配置方式,只有一个元素指定Listener的实现类.
②启动WEB项目的时候,Tomcat容器首先会去它的配置文件读取两个节点listener和context-param。
然后Tomcat会创建一个ServletContext(application),WEB项目所有部分都将共享这个上下文
将applicationContext.xml存入ServletContext中
Tomcat容器根据class类路径来创建监听
上面这些都是在web项目还没有完全启动起来就完成的工作,而servlet是在第一次发起请求时被实例化的
而且一般不会被容器销毁,并服务于多个用户的请求.
web.xml的加载顺序是: context-param-> listener -> filter -> servlet.
filter
Filter可认为是Servlet的“增强版”,因此Filter配置与Servlet的配置非常相似,需要配置两部分:配置Filter名称和Filter拦截器URL模式。区别在于Servlet通常只配置一个URL,而Filter可以同时配置多个请求的URL。配置Filter有两种方式:
在Filter类中通过Annotation进行配置。
在web.xml文件中通过配置文件进行配置。
①网络
②http://blog.csdn.net/believejava/article/details/43229361
1.在web.xml里配置监听器、过滤器、拦截器,书写顺序有没有什么要求?
根据网上资料来分析,应该是没有书写顺序的要求,容器会按照自己的加载方式去加载顺序.
2.监听器是必须要配置的吗?
不是必须要配置.
3假设配置了多个listener,那么会先加载哪个listener
如果有多个listener的情况下,我们可以根据自己的需要去手动设置先去加载哪个listener.
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~
http://www.jnshu.com/login/1/14708688
PPT : https://ptteng.github.io/PPT/PPT-java/Java-task2-webxml.html#/
② java web中怎么使用web.xml配置文件
只要配置一个 过滤器就可以了
<!-- struts2过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
③ java web.xml servlet 如何配置 servlet-class
配置方法:
<servlet>
<servlet-name>InitPassword</servlet-name>
<servlet-class>InitPassword</servlet-class>
<init-param>
<param-name>FileName</param-name>
<param-value>WEB-INF/config/ds.config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
编写servlet程序一定要用包,放到包下面使用,不存在所谓的缺省包(即无包)。此处在配置xml文件时时,<servlet-class>InitPassword</servlet-class>中间要放的类所在包及类名。
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
④ java web的web.xml文件怎么配置
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>TestServlet(放你的类完整路径)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/register(jsp的提交)</url-pattern>
</servlet-mapping>
至于 TestBean 是没有办法在web.xml中去配置的,除非用到框架
所以,你可以直接在TestServlet类中直接调用TestBean就好
⑤ 用java写web应用时候,是否需要每写servlet的时候都要配置web.xml文件
java编写web应用的时候,当使用servlet 3.0之后,不需要配置web.xml文件,使用如下注解形式即可:
@WebServlet(urlPatterns={"/simple"},asyncSupported=true,
loadOnStartup=-1,name="SimpleServlet",displayName="ss",
initParams={@WebInitParam(name="username",value="tom")}
)
{…}
⑥ 怎样在java代码中查看web.xml配置说明
不存在明确的接口让你去查看web.xml里的东西,但是对于这些配置,你可以有特定的接口,比如spring的配置,spring的代码有动态查看的方式。
但,如果你就想看web.xml的内容的话,有一个简单的方法:直接读取web.xml,路径你知道,文件名你知道,你自然可以用fileinputstream读取它。
⑦ JAVA web.xml的配置中
<url-pattern>/</url-pattern>首先,看名字就知道这个是url的模式,就是指过滤器拦截什么样的请求,然后,你的程序中是/*,就是指拦截所有的请求,如果配置为/*.do,则表示拦截所有以do为后缀名的请求,以此类推
⑧ java三大框架web.xml怎么配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<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>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>action</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>action</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
我这是struts2
struts1这么配
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<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>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
<display-name>ChracaterFilter</display-name>
<filter-name>ChracaterFilter</filter-name>
<filter-class>xm.sq.filter.ChracaterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ChracaterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
⑨ web.xml配置
大哥不敢当,发一个我的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">
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>e.ontest.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb18030</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>http://www.woodisthebest.org</taglib-uri>
<taglib-location>/pagetag_tld/pagetag.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
试试不要将tag的tld放在WEB-INF目录下呢
⑩ java web.xml servlet 配置 servlet-class 问题
编写servlet程序一定要用包,放到包下面使用,不存在所谓的缺省包(即无包)。此处在配置xml文件时时,<servlet-class>InitPassword</servlet-class>中间要放的类所在包及类名,如package
com.;则写为servlet-class>com..InitPassword</servlet-class>此处类一般为自己编写的,存放于WEB-INF目录下的classes文件夹下