为什么web应用不在tomcat根目录下时,iframe src链接的地址就不工作

问题描述

一个基于struts1.x的应用,web页面有如下代码<div id="main_r"><iframe name="main" id="centerpage" src="/admin.do?action=include" width="827" height="900" frameborder="0"></iframe></div>即有一个iframe链接到一个action。action的代码如下public ActionForward include(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {return new ActionForward("/admin/main.jsp");}现在有如下问题,当把这个应用部署在tomcat6.x的根目录下,即访问地址是http://localhost/index.jsp的时候毫无问题,action执行了正常的跳转。src链接到了main.jsp但是如果把该应用发布到一个文件夹下http://localhost/test/index.jsp就无法执行了,iframe里嵌入了tomcat反馈的400错误。而且经过我测试,此时的include方法没有得到执行,请问这是怎么回事呢

解决方案

"/"就是web应用的根目录,也就是http://[ip]:[port]/用相对目录(不使用"/"或者"../")或者指定项目名才能得到http://[ip]:[port]/[project_name]/你可以把斜杠去掉试试看,或者<iframe name="main" id="centerpage" src="/admin.do?action=include" width="827" height="900" frameborder="0"></iframe> 前加一个<a href="admin.do?action=include">testPath</a>这样鼠标移上去可以看到链接的地址,从而判断相对路径的层级
解决方案二:
除了楼上说的要改,iframe的src也得改吧
解决方案三:
return new ActionForward("/admin/main.jsp"); 应该跟这个有关系,试试改为 return new ActionForward("admin/main.jsp");

时间: 2024-08-30 22:11:36

为什么web应用不在tomcat根目录下时,iframe src链接的地址就不工作的相关文章

tomcat启动报错-启动web项目,导致tomcat启动不了,内存泄露,请大家帮忙下这个问题,很急很急。

问题描述 启动web项目,导致tomcat启动不了,内存泄露,请大家帮忙下这个问题,很急很急. Oct 21, 2015 3:50:39 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Oct 21, 2015 3:50:39 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context

win linux 下 部署war包到Tomcat根目录

在WIN系统下: 在TOMCAT中部署war  1.将war文件拷贝到tomcat目录\webapps\ 下.  2.将必要的jar文件拷贝到tomcat目录\lib\ 下.  3.修改tomcat目录\conf\下的server.xml.  <!-- Tomcat Manager Context --> <Context path="/manager" docBase="manager" debug="0"privileged

错误日志-阿里云 Java环境 每小时在根目录下生成 hs_err_pid*.log ,求教!

问题描述 阿里云 Java环境 每小时在根目录下生成 hs_err_pid*.log ,求教! OS环境:阿里云 1核 1G内存: 安装软件:安装了 JDK 1.7 TOMCAT 7.X: 部署内容:部署了 java web 工程,工程正常运行: 问题:每小时在跟目录下生成一个 hs_err_pid.log 已经采取的措施: 1.配置服务器Swap 2.配置tomcat jvm 内存 (bin/catalina.sh) 未果,求牛人指点. 文件内容如下: # There is insuffici

怎么将域名直接指向阿里云服务器上tomcat服务器下的应用

问题描述 怎么将域名直接指向阿里云服务器上tomcat服务器下的应用 而不是通过www.xxx.com:8080/webapp,不用nginx可以吗,新手求教........ 解决方案 域名指向阿里服务器的公网ip 你的tomcat配置使用80端口(而不是8080端口),如果有iis等别的web server占用了端口,先禁用它们. 防火墙允许80端口 域名和服务器备案 其它问题,可以问阿里的客服. 解决方案二: 可以啊,,直接用域名绑定你的阿里云服务器的公网ip就好了

struts-Struts2的web.xml为什么要放在WEB-INF下

问题描述 Struts2的web.xml为什么要放在WEB-INF下 web.xml放在WebContent下问什么不可以呢,求指教 解决方案 webxml是tomcat装载页面的时候才用的,不是自身启动的必要.webinf是针对具体的war应用而设计的一个webinf对应一个具体的应用,tomcat 在加载这个war应用的时候根据webinf来具体解析网站结构.并启动浏览器来正确显示. 解决方案二: 因为你要启动tomcat,tomcat的启动项目文件你可以取tomcat里取查,至于Strut

y clipse-myeclipse 部署web工程 JSP 在tomcat 中没有发布过去

问题描述 myeclipse 部署web工程 JSP 在tomcat 中没有发布过去 myeclipse 发布web工程 部署到tomcat后 webapps 下的web工程中没有项目的所有 JSP文件 .求大神解决 解决方案 检查一下,你的Tomcat是否在MyEclipse中正确配置,然后看看部署时是否部署的你独立安装的Tomcat,而不是部署到MyEclipse自带的Tomcat了

web.xml-servelt如何在tomcat中配置?

问题描述 servelt如何在tomcat中配置? servlet用了书上的例子 package package01; import java.io.*; import javax.servlet.*; public class HelloServlet extends GenericServlet { public void service(ServletRequest request,ServletResponse response) throws ServletException,IOEx

为什么logback在tomcat中运行时日志文件输出到eclipse目录下

问题描述 使用相对路径时,同样的logback日志配置文件,在jetty中运行会输出日志到当前项目的路径下,而部署到tomcat中就输出到eclipse根目录下了,有什么办法可以解决这个问题?我想了很久都不知道为什么.logback部分配置如下<appendername="FILE"class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicyclass="ch

spring-eclipse部署项目到tomcat根目录发现的问题?

问题描述 eclipse部署项目到tomcat根目录发现的问题? 通过eclipse把项目部署到tomcat根目录,通过在项目上右击-Properties-Web Project Settings-Content root修改值为""/"",修改的.这样直接通过http://localhost:端口就可以访问,但是这样spring quartz定时任务每次执行两次!!不知道大家遇到过这个问题不?不修改Content root时spring 定时每次执行一次,测试了两