weixin_42318673 2009-07-10 15:14
浏览 218
已采纳

Tomcat 虚拟站点下的子目录无法请求 Struts中的action

在webapps目录下,部署了一个web 工程 :ttest
ttest的目录结构如下图:
ttest
WEB-INF
classes
lib
struts-config.xml
struts-html.tld
struts-bean.tld
struts-html.tld
struts-logic.tld
web.xml
xhtmlmp
login.jsp
*****.jsp
login.jsp
*****.jsp

问题描述:
工程采用jsp+struts 来实现。 在ttest 的目录下有一部分jsp文件,同时在其子目录xhtmlmp目录下也有一部分jsp文件。
把ttest部署到tomcat 的webapps目录下以后,
如果以ip地址的形式 来访问这两部分jsp文件,请求的action ,可以进行处理
例如:
192.168.22.228:8080/ttest/login.jsp 请求loginAction ,可以请求action 没问题。
192.168.22.228:8080/ttest/xhtmlmp/login.jsp 请求mobileLoginAction ,也没问题。

现在的问题是 通过配置虚拟站点,来进行访问这两部分jsp 就有问题了。
ttest下的jsp文件可以 请求对应的action,但是子目录里的xhtmlmp中的jsp 文件 就无法请求到 action,页面会报出404错误!
例如:
http://mmvd.ttest.com/ttest/login.jsp 这个地址可以请求到action
[color=red] http://mmvd.ttest.com/xhtmlmp/login.jsp 这个地址就 无法请求action ! [/color]

我在tomcat的 conf目录中的server.xml 中 配置了 一个Host 元素:
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">








另外 在ttest工程下的WEB-INF目录里,strtuts-config.xml的部分信息如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">






<!-- ****************************** ttest *********************************** -->










[color=blue]-----------------------------------------------------------------[/color]
在补充一下:
现在的问题是 这四个 链接 请求action的状况:
Ip形式访问
192.168.22.228:8080/ttest/login.jsp 请求loginAction ,可以请求action 没问题。
192.168.22.228:8080/ttest/xhtmlmp/login.jsp 请求mobileLoginAction ,也没问题。
通过配置host,以虚拟站点形式访问:
http://mmvd.ttest.com/ttest/login.jsp 这个地址可以请求到action
[color=red]http://mmvd.ttest.com/xhtmlmp/login.jsp 这个地址就 无法请求action ! [/color]

host的配置就是这个样子,而且要求不能改变:
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">






  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2009-07-10 15:23
    关注

    我觉得struts应该是没法解析这种请求,无法定位到对应的action,
    这种虚拟url,最好不要使用tomcat本身的功能,可以用apache或urlrewrite组件来实现

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证