struts是通过
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样的filter来验证的...
而连接池我想用proxool,proxool有一个proxooladmin的后台查看程序需要配置一个proxool自带的Servlet
<servlet>
<servlet-name>proxooladmin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>proxooladmin</servlet-name>
<url-pattern>/proxooladmin</url-pattern>
</servlet-mapping>
但是因为上面已经配置了filter,所以一运行 http://localhost:8080/XXX/proxooladmin
就会报:There is no Action mapped for namespace / and action name proxooladmin
这个错误....
请问有何方法可以解决???暨 struts如果使用自己创建的独立的Servlet?
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样的filter来验证的...
而连接池我想用proxool,proxool有一个proxooladmin的后台查看程序需要配置一个proxool自带的Servlet
<servlet>
<servlet-name>proxooladmin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>proxooladmin</servlet-name>
<url-pattern>/proxooladmin</url-pattern>
</servlet-mapping>
但是因为上面已经配置了filter,所以一运行 http://localhost:8080/XXX/proxooladmin
就会报:There is no Action mapped for namespace / and action name proxooladmin
这个错误....
请问有何方法可以解决???暨 struts如果使用自己创建的独立的Servlet?
解决方案 »
- 在页面给数据库添加数据(但有个字段设置为自增)
- hibernate里面的类型问题
- Quartz cluster scheduler job not fire
- UTF-8编码,部分中文正常,部分为乱码的问题?
- jdom中 如何删除xml 的节点 不是根据节点内容删除 在线等谢谢;
- 先学EJB还是框架(struts,spring,hibernate)?
- 呼救:HTTP Status 500!!!!
- 请问哪里有EMF下载啊
- 实体bean部署到weblogic8的时候出错:Nested Exception: java.lang.IllegalArgumentException: Null keys not supported
- 关于struts中的问题~!
- 怎么做一个批处理字符串替换的小程序??
- 怎样运行包中的servlet程序
配置成为
<servlet-mapping>
<servlet-name>proxooladmin</servlet-name>
<url-pattern>/proxooladmin.servlet</url-pattern>
</servlet-mapping> 就可以用 http://localhost:8080/XXX/proxooladmin.servlet来访问了......额...找人来接分了..........
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
是可以用struts2中使用servlet的,只是必须让struts2的action来转发到servlet的url-pattern中的地址就可以了。我简单举例下: 例如定义了一个servlet:
<servlet>
<servlet-name>validate</servlet-name>
<servlet-class>com.xxx.util.GeneratorValidateChar</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>validate</servlet-name>
<url-pattern>/tu</url-pattern>
</servlet-mapping>如果你在页面中使用该servlet,则要用action转发到<url-pattern>/tu</url-pattern>
的路径/tu.如你的页面里有个 <img>元素来显示图片,如果使用<img src="tu" width="60" height="20"/>肯定不行,你必须定义一个action 如
package com.xxx.actions;
public class GotchaGraphics implements Action {
public String execute(){
return SUCCESS;
}
} 然后在struts.xml中配置该Action
<package name="common" namespace="/" extends="struts-default">
....
<action name="graphics" class="com.xxx.actions.GotchaGraphics">
<result>/tu</result>
</action>
....
</package>
最终在那个<img>中这么使用<img src="graphics" width="60" height="20"/>,这样就可以用servlet了。 总结下:如果在web.xml使用 “/*” 处理请求,则servlet需要用一个action来转发该servlet自己的路径。