❶ web.xml 怎么添加web.xml
首先创建一个类
public class ContextInitListener implements ServletContextListener
使得该类成为一个监听器。用于监听整个容器生命周期的,主要是初始化和销毁的。
类创建后要在web.xml配置文件中增加一个简单的监听器配置,即刚才我们定义的类。
Xml代码
<listener>
<!-- lang: xml -->
<description>ServletContextListener</description>
<!-- lang: xml -->
<listener-class>com.test.web.filter.ContextInitListener</listener-class>
<!-- lang: xml -->
</listener>
配置好监听器后我们开始编写ContextInitListener 的代码。实现接口后会自动生成两个方法,初始化和销毁,我们就只贴出这个吧,另一个没什么用。web项目通常来说,一般来说相对路径是在WEB-INF/classes,获取该路径下的文件,最好用getClass().getResourceAsStream(“/baseconfig.properties”);比较简单。
Java代码
@Override
public void contextInitialized(ServletContextEvent sce) {
Properties props = new Properties();
InputStream inputStream = null;
try {
inputStream = getClass().getResourceAsStream("/baseconfig.properties");
props.load(inputStream);
String tempPath = (String) props.get("path");
} catch (IOException ex) {
ex.printStackTrace();
}
}
❷ WEB.xml文件中可不可以配2个servlet
WEB.xml文件中配置多个servlet是可以的,但是请求地址不能相同
❸ 在web.xml中加入过滤器
直接使用spring的过滤器就可以定义好对应filter和filter-mapping之后即可自动进行过滤,典型的就是编码过滤器。
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
备注:
这个是固定写法,代码中的“*”表示所有内容都必须经过此过滤器,也可以自定义类型。
也可以自动与过滤器,之后只需要继承自Filter 即可。
❹ myeclipse怎么在web.xml下添加新的配置,打开了web.xml文件后,怎么添加新的配置,要配置数据源
左下角有两个标签页。。。点击后面一个sourse就能看到代码了。。
❺ 急急急,在eclipse中,我想在web.xml 中新建filter,怎么添加配置,代码怎么添加啊双击吗谢谢
左下方有个source,你那个是design状态,你切换到source里面配置就行了
❻ 如何在web.xml文件中引入其他的xml文件
最近在做一个Servlet+javaBean的项目,服务器用的是tomcat。因此,所有的页面都是servlet请求,而且很多,需要在web.xml文件中进行配置。导致web.xml文件特别大,而且这个系统以后会做大,并且会出现系统拆分,为了便于以后拆分,于是想到将web.xml文件中的servlet和servlet-mapping能够从web.xml脱离出来,用其他xml文件保存然后在web.xml文件中引入这些文件,就想类似引入struts.config一样。
在网上找了半天也没找到,还是学哥厉害,找到了答案,在此向他致敬。
具体做法如下:
1,按模块将servelet从web.xml中拷贝出来,放到一个test.xml中,如test.xml中内容如下:
<servlet>
<servlet-name>testA</servlet-name>
<servlet-class>TestA</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testA</servlet-name>
<url-pattern>/testA.do</url-pattern>
</servlet-mapping>
2,在我的WEB-INF/web.xml中引入test.xml
<!DOCTYPE
web-app
[<!ENTITY test
SYSTEM "file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">
<!ENTITY
admin SYSTEM "admin.xml">]>
<web-app
version="2.5"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
>
&test;
&admin;
以上修改即可,web.xml会在开头引入你的test.xml.然后 &test;表示你放的地方。
如果设定的是相当路径,可以如此设定:
如果test.xml和web.xml在同一个文件夹,则 [<!ENTITY
test SYSTEM "test.xml">]
如果test.xml在web.xml所在文件夹的ccc文件夹中,则 [<!ENTITY
test SYSTEM "ccc/test.xml">]
我的servlet是2.5,2.4应该也管用,其他版本没试过。
这样,我可以在系统开始设计时,将各个模块分开,便于以后系统拆分。
❼ 在web.xml中配置多个filter是怎么执行的
web.xml的部分配置文件:
<!--配置的filter-->
<filter>
<filter-name>struts2Filter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- UrlRewrite filter -->
<filter>
<filter-name>urlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<!--配置的filtermapping-->
<filter-mapping>
<filter-name>struts2Filter</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>urlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
filter的执行类似于栈,执行顺序是按照在配置文件中配置的顺序执行的,比如定义两个filter(f1,f2),过滤的对象为index.jsp,则客户的请求(req)和响应(res)顺序是req->f1->f2>index.jsp->f2->f1->res。
❽ java web项目种 web.xml可以配置几个filter
只要你不崩溃,想配置多少就配置多少,不过最好不要配置太多,而且你也不需要那么多,配置多了影响性能,也容易充错,写多了就各种bug,一不小心就把你不想过滤的都过滤了
❾ 怎么在web.xml 文件中添加配置
jsp + servlet + tomcat例子中: 添加这样的descirpto在web.xml文件并可以解析 .... /WEB-INF/my/my-config.xml .... 然后根据自己的配置文件完成类的加载和响应的功能