Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Weblogic 10.3.6自定义Servlet筛选器的问题_Java_Servlets_Servlet Filters_Struts 1_Weblogic 10.x - Fatal编程技术网

Java Weblogic 10.3.6自定义Servlet筛选器的问题

Java Weblogic 10.3.6自定义Servlet筛选器的问题,java,servlets,servlet-filters,struts-1,weblogic-10.x,Java,Servlets,Servlet Filters,Struts 1,Weblogic 10.x,我正在使用struts hibernate项目,并成功地部署在多个web应用服务器上,如Tomcat、JBoss、WAS等 在WebLogic 10.3.6服务器中部署相同的应用程序时,我遇到了一个奇怪的问题 我在web.xml中没有几个过滤器用于在操作类之前处理请求。这些过滤器是在应用程序加载时初始化的(调试在init方法中进行),当我点击URL时,它应该首先进入我的过滤器类的doFilter方法,但在weblogic的情况下,它不起作用 同样的事情也适用于其他web应用程序服务器 Web.x

我正在使用struts hibernate项目,并成功地部署在多个web应用服务器上,如Tomcat、JBoss、WAS等

在WebLogic 10.3.6服务器中部署相同的应用程序时,我遇到了一个奇怪的问题

我在web.xml中没有几个过滤器用于在操作类之前处理请求。这些过滤器是在应用程序加载时初始化的(调试在init方法中进行),当我点击URL时,它应该首先进入我的过滤器类的doFilter方法,但在weblogic的情况下,它不起作用

同样的事情也适用于其他web应用程序服务器

Web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE web-app PUBLIC
          "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
          "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

  <!-- Parameter for JSTL resource bundle usage. -->
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>app_resources</param-value>
  </context-param>

  <!-- Parameters related to application configuration. -->
  <context-param>
    <param-name>configFile</param-name>
    <param-value>/WEB-INF/app-config.xml</param-value>
  </context-param>
  <context-param>
    <param-name>configClass</param-name>
    <param-value>org.apache.struts.apps.ajaxchat.AjaxChatConfig</param-value>
  </context-param>


    <filter>
        <filter-name>
            Logging Filter
        </filter-name>
        <description>
            Filter used to log each user action
        </description>
        <filter-class>
            com.mypackage.ActivityLoggingFilter
        </filter-class>
    </filter>

    <!-- Use this if you want db authentication -->
    <filter>
        <filter-name>
            AuthFilter
        </filter-name>
        <description>
            Filter handling custom user authentication
        </description>
        <filter-class>
            com.mypackage.AuthenticationFilter
        </filter-class>
        <init-param>
            <param-name>auth_uri</param-name>
            <param-value>/Login.do</param-value>
        </init-param>
        <init-param>
            <param-name>password_change_uri</param-name>
            <param-value>/PasChangeExp.do</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>AuthFilter</filter-name>
        <servlet-name>action</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>AuthFilter</filter-name>
        <servlet-name>tcode</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>AuthFilter</filter-name>
        <servlet-name>help</servlet-name>
    </filter-mapping>

    <!-- Map the filter to a Servlet or URL -->

    <filter-mapping>
        <filter-name>Logging Filter</filter-name>
        <servlet-name>action</servlet-name>
    </filter-mapping>

    <!-- Listeners -->
    <!--
    <listener>
        <listener-class>com.mypackage.HibernateListener</listener-class>
    </listener>
    -->
    <listener>
        <listener-class>
            com.mypackage.SessionListener
        </listener-class>
    </listener>
    <listener>
      <listener-class>com.mypackage.ContextListener</listener-class>
    </listener>

  <listener>
    <listener-class>javawebparts.listener.AppConfigContextListener</listener-class>
  </listener>

    <servlet>
        <servlet-name>Log4JInitServlet</servlet-name>
        <servlet-class>com.mypackage.Log4JInitServlet</servlet-class>
        <init-param>
            <param-name>log4j-properties-location</param-name>
            <param-value>/WEB-INF/classes/logging.properties</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>


    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>com.mypackage.InheritanceActionServet</servlet-class>

        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/modules/main/config/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>config/main/user</param-name>
            <param-value>/WEB-INF/modules/main/modules/user/config/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>config/main/group</param-name>
            <param-value>/WEB-INF/modules/main/modules/group/config/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>config/main/profile</param-name>
            <param-value>/WEB-INF/modules/main/modules/profile/config/struts-config.xml</param-value>
        </init-param>

        <load-on-startup>3</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>MenuInitServlet</servlet-name>
        <servlet-class>com.mypackage.MenuInitServlet</servlet-class>
         <load-on-startup>4</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>JnlpDownloadServlet</servlet-name>
        <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
    </servlet>

    <servlet>
        <servlet-name>tcode</servlet-name>
        <servlet-class>com.mypackage.TcodeServiceImpl</servlet-class>
    </servlet>

    <servlet>
        <servlet-name>help</servlet-name>
        <servlet-class>com.mypackage.HelpServlet</servlet-class>
    </servlet>

    <!-- servlet-mapping>
        <servlet-name>JnlpDownloadServlet</servlet-name>
        <url-pattern>*.jnlp</url-pattern>
    </servlet-mapping -->

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>tcode</servlet-name>
        <url-pattern>/tcode/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>help</servlet-name>
        <url-pattern>/static/help/*</url-pattern>
    </servlet-mapping>

    <session-config>
            <session-timeout>15</session-timeout>
    </session-config>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <error-page>
      <error-code>400</error-code>
      <location>/ErrorPage.do</location>
    </error-page>

    <error-page>
      <error-code>404</error-code>
      <location>/ErrorPage404.do</location>
    </error-page>

    <error-page>
      <error-code>500</error-code>
      <location>/ErrorPage500.do</location>
    </error-page>

    <taglib>
        <taglib-uri>/tags/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/struts-html</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/struts-logic</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/struts-tiles</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-tiles.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/struts-nested</taglib-uri>
        <taglib-location>/WEB-INF/tlds/struts-nested.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/menu</taglib-uri>
        <taglib-location>/WEB-INF/tlds/menu.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/navigator</taglib-uri>
        <taglib-location>/WEB-INF/tlds/navigator.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/list</taglib-uri>
        <taglib-location>/WEB-INF/tlds/list.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/table</taglib-uri>
        <taglib-location>/WEB-INF/tlds/table.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/monitor</taglib-uri>
        <taglib-location>/WEB-INF/tlds/client.tld</taglib-location>
    </taglib>
       <taglib>
        <taglib-uri>/tags/alerts</taglib-uri>
        <taglib-location>/WEB-INF/tlds/alerts.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/custom</taglib-uri>
        <taglib-location>/WEB-INF/tlds/customFields.tld</taglib-location>
    </taglib>
    <taglib>
     <taglib-uri>/tags/filter</taglib-uri>
        <taglib-location>/WEB-INF/tlds/filter.tld</taglib-location>
    </taglib>
    <taglib>
     <taglib-uri>/tags/selectChoices</taglib-uri>
        <taglib-location>/WEB-INF/tlds/selectChoices.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/matrix</taglib-uri>
        <taglib-location>/WEB-INF/tlds/matrix.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/report</taglib-uri>
        <taglib-location>/WEB-INF/tlds/report.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/tags/listWithActionTag</taglib-uri>
        <taglib-location>/WEB-INF/tlds/listWithActionTag.tld</taglib-location>
    </taglib>

    <!-- resource -->
    <!--resource-ref>
        <res-ref-name>jdbc/prototype</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref-->

</web-app>

javax.servlet.jsp.jstl.fmt.localizationContext
应用程序资源
配置文件
/WEB-INF/app-config.xml
配置类
org.apache.struts.apps.ajaxchat.AjaxChatConfig
日志过滤器
用于记录每个用户操作的筛选器
com.mypackage.ActivityLoggingFilter
AuthFilter
处理自定义用户身份验证的筛选器
com.mypackage.AuthenticationFilter
auth_uri
/Login.do
密码\u更改\u uri
/PasChangeExp.do
AuthFilter
行动
AuthFilter
代码
AuthFilter
帮助
日志过滤器
行动
com.mypackage.SessionListener
com.mypackage.ContextListener
javawebparts.listener.AppConfigContextListener
Log4JInitServlet
com.mypackage.Log4JInitServlet
log4j属性位置
/WEB-INF/classes/logging.properties
1.
行动
com.mypackage.InheritanceActionServet
配置
/WEB-INF/modules/main/config/struts-config.xml
config/main/user
/WEB-INF/modules/main/modules/user/config/struts-config.xml
config/main/group
/WEB-INF/modules/main/modules/group/config/struts-config.xml
config/main/profile
/WEB-INF/modules/main/modules/profile/config/struts-config.xml
3.
Menunitservlet
com.mypackage.MenuInitServlet
4.
JnlpDownloadServlet
com.sun.javaws.servlet.JnlpDownloadServlet
代码
com.mypackage.tcoderviceimpl
帮助
com.mypackage.HelpServlet
行动
*.做
代码
/代码/*
帮助
/静态/帮助/*
15
index.jsp
400
/ErrorPage.do
404
/ErrorPage404.do
500
/错误页面500.do
/标签/strutsbean
/WEB-INF/tlds/struts-bean.tld
/标签/struts html
/WEB-INF/tlds/struts-html.tld
/标签/struts逻辑
/WEB-INF/tlds/struts-logic.tld
/标签/支柱瓷砖
/WEB-INF/tlds/struts-tiles.tld
/嵌套的标记/struts
/WEB-INF/tlds/struts-nested.tld
/标签/菜单
/WEB-INF/tlds/menu.tld
/标签/导航器
/WEB-INF/tlds/navigator.tld
/标签/列表
/WEB-INF/tlds/list.tld
/标签/表格
/WEB-INF/tlds/table.tld
/标签/监视器
/WEB-INF/tlds/client.tld
/标签/警报
/WEB-INF/tlds/alerts.tld
/标签/定制
/WEB-INF/tlds/customFields.tld
/标签/过滤器
/WEB-INF/tlds/filter.tld
/标记/选择选项
/WEB-INF/tlds/selectChoices.tld
/标签/矩阵
/WEB-INF/tlds/matrix.tld
/标签/报告
/WEB-INF/tlds/report.tld
/tags/listWithActionTag
/WEB-INF/tlds/listWithActionTag.tld
weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" 
    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 http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
    <context-root>mps</context-root>
    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
        <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
    </container-descriptor>
</weblogic-web-app>

议员
真的
真的

我发现在扩展筛选器类时,需要在筛选器类方法上方添加@Override注释。添加此解决了我的问题。

您是否考虑过将
/*
请求添加到筛选器映射中?看来地图不起作用了是的,我也试过了,但没有希望。