SSH下修改web配置报404 求教

lihan6839 2017-05-22 03:35:08
默认的>
<welcome-file-list>
<welcome-file>index!index.do</welcome-file>
</welcome-file-list>
是可以访问到的

但是改成另一个路径就报404了,如下,希望大神帮我解答这个疑惑
<welcome-file-list>
<welcome-file>/myaccount/index!index.do</welcome-file>
</welcome-file-list>



这是完整web.xml的配置,
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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_4.xsd">
<context-param>
<param-name>etc_file</param-name>
<param-value>/WEB-INF/etc/conf/app-config.xml</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
dwz.framework.adapter.web.filter.EncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>

<!--
<filter>
<filter-name>wrapper</filter-name>
<filter-class>
dwz.framework.adapter.web.filter.AppWrapperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>wrapper</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>wrapper</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
-->

<filter>
<filter-name>sessionValidate</filter-name>
<filter-class>
dwz.framework.adapter.web.filter.SessionValidateFilter
</filter-class>
<init-param>
<param-name>uri</param-name>
<param-value>
/myaccount/user!forgetPassword.do,/index!,/validationCode!,/passport!
</param-value>
</init-param>
<init-param>
<param-name>loginUrl</param-name>
<param-value>/index!login.do</param-value>
</init-param>
<init-param>
<param-name>backToUrl</param-name>
<param-value>/index!login.do</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>sessionValidate</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sessionValidate</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>

<filter>
<filter-name>cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
<filter-name>sitemesh</filter-name>
<filter-class>
dwz.framework.adapter.web.filter.Struts2SiteMeshFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- struts2配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml, ../struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>
dwz.framework.adapter.web.listener.AppContextInitListener
</listener-class>
</listener>

<resource-ref>
<res-ref-name>jdbc/app</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<welcome-file-list>
<welcome-file>/myaccount/index!index.do</welcome-file>
</welcome-file-list>
</web-app>


这是struts的配置:
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="do" />
<constant name="struts.custom.i18n.resources" value="resource/messages"></constant>
<constant name="struts.configuration.xml.reload" value="false"></constant>
<constant name="struts.enable.SlashesInActionNames" value="false"></constant>

<package name="struts2" extends="struts-default" abstract="true">
<interceptors>
<interceptor name="dwzException" class="dwz.framework.adapter.web.interceptor.ParamExceptionMappingInterceptor"></interceptor>
<interceptor-stack name="dwzDefaultStack">
<interceptor-ref name="dwzException"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="dwzDefaultStack" />

<global-results>
<result name="operationDone">/WEB-INF/jsp/common/${operationDone}.jsp</result>
<result name="input">/WEB-INF/jsp${proxy.namespace}/${proxy.actionName}/${proxy.method}.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="input" exception="java.lang.NoSuchMethodException" />
<exception-mapping result="operationDone" exception="java.lang.Exception" />
</global-exception-mappings>
</package>

<package name="common" extends="struts2">
<default-action-ref name="index"></default-action-ref>
<action name="passport" class="dwz.present.passport.PassportAction">
<result name="success" type="redirect">${backToUrl}</result>
<result name="input">/WEB-INF/jsp/myaccount/index/index.jsp</result>
</action>

<action name="index" class="dwz.present.app.common.IndexAction"></action>

<!-- <action name="*/*" class="dwz.present.app.common.{1}Action" method="{2}"></action> -->
</package>

<package name="myaccount" namespace="/myaccount" extends="struts2">
<action name="index" class="dwz.present.app.myaccount.IndexAction">
<result name="management" type="redirect">../management/index!index.do</result>
</action>

<action name="user" class="dwz.present.app.myaccount.UserAction"></action>
</package>

<package name="management" namespace="/management" extends="struts2">
<action name="index" class="dwz.present.app.management.IndexAction">
<result name="myaccount" type="redirect">../myaccount/index!index.do</result>
<result name="loginDialog">/WEB-INF/jsp/management/index/loginDialog.jsp</result>
</action>

<action name="user" class="dwz.present.app.management.UserAction"></action>

<action name="news" class="dwz.present.app.management.NewsAction"></action>

<action name="website" class="dwz.present.app.management.WebsiteAction"></action>

<action name="page" class="dwz.present.app.management.PageAction"></action>

<action name="category" class="dwz.present.app.management.CategoryAction"></action>
</package>

</struts>
...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
北九道 2017-05-23
  • 打赏
  • 举报
回复
这个我也遇到过,最后发现是这么个事儿,好像他的这个index.jsp是默认的在webroot下面的,即使给重新搞一个文件夹放进去也不行,上次见到的是index.html,只要放在webroot下就可以,但是只要放在下面的某个具体的文件夹内就不行,甚至于无法preview
Hansy Chen 2017-05-22
  • 打赏
  • 举报
回复
应该是包括工程名与不包括工程名的路径问题。
qq_35243821 2017-05-22
  • 打赏
  • 举报
回复
为什么你的请求地址一个在前面加斜杠,另一个不加斜杠

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧