问题描述
工作目录(即工程名)是/ChatRoomForTest工程文件已打包,附在后面注:ChatRoomForTest.zip是今天中午修改的第一个工程,当时还能正常访问input.jsp,至少提交后还能停留在原页面ChatRoomForTest1.zip是今天晚上修改的,现在输入聊天内容提交后自动跳转到http://localhost:8080/chatpage/input.jsp,正确路径应为http://localhost:8080/ChatRoomForTest/chatpage/input.jsp本来想做包含4个JSP的网页的,用框架实现,故设计了info.jsp(显示个人信息),input.jsp(输入聊天内容),output.jsp(显示聊天内容),visited.jsp(显示聊天室进入人员情况)现只进行input.jsp和output.jsp的整合,就出现下面所说的错误(所用的是ChatRoomForTest.zip)/ChatRoomForTest/chatpage目录下的output.jsp和input.jsp单独加载可以正常显示(除去我加载的两个JavaBean Person.java和ChatRecord.java时显示的UserName为Null,其他一切正常),但是我把它们整合到一个框架后提示错误,框架是这么写的:<frameset rows="80,*" frameborder="no" border="0" framespacing="0"> <frame src="output.jsp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" /> <frame src="input.jsp" name="mainFrame" id="mainFrame" /></frameset><noframes>访问http://localhost:8080/ChatRoomForTest/chatpage.jsp具体报错如下:HTTP Status 404 - /ChatRoomForTest/output.jsp--------------------------------------------------------------------------------type Status reportmessage /ChatRoomForTest/output.jspdescription The requested resource (/ChatRoomForTest/output.jsp) is not available.--------------------------------------------------------------------------------Apache Tomcat/6.0.33HTTP Status 404 - /ChatRoomForTest/input.jsp--------------------------------------------------------------------------------type Status reportmessage /ChatRoomForTest/input.jspdescription The requested resource (/ChatRoomForTest/input.jsp) is not available.根据提示,我猜是URL的相对地址出错(因为我的output.jsp和input.jsp是放在WEBROOT文件夹的chatpage文件夹下,所以requested resource(/ChatRoomForTest/input.jsp)显示错误),尝试修改路径,但是昨天晚上一直在调试,终未成功,不知道问题究竟出在哪里,恳请各位帮忙解答,谢谢啦 问题补充:asyty 写道
解决方案
没仔细看 不过觉得路径错了<frameset rows="80,*" frameborder="no" border="0" framespacing="0"> <frame src="chatpage/output.jsp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" /> <frame src="chatpage/input.jsp" name="mainFrame" id="mainFrame" /> </frameset> <noframes> 或者用绝对路径<frameset rows="80,*" frameborder="no" border="0" framespacing="0"> <frame src=" /ChatRoomForTest/chatpage/output.jsp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" /> <frame src=" /ChatRoomForTest/chatpage/input.jsp" name="mainFrame" id="mainFrame" /> </frameset> <noframes>
解决方案二:
引用<base href="<%=basePath%>"> 对的,这句的意思是把/ChatRoomForTest当做这个页面的根路径
解决方案三:
对的,你说的有道理的,按道理同一个目录底下是不需要加chatpage的,或者frame src=" ../chatpage/input.jsp" 也是对的,很奇怪啊你可以在eclipse的server里右击打开deploy目录看看发布上去的项目文件夹是什么样子的,在运行之后,在浏览器里查看一下源代码是怎么回事 我也有点疑惑
解决方案四:
/chatpage/output.jsp 是指http://localhost:8080/chatpage/output.jsp吧
解决方案五:
绝对路径应该是以 / 开头的路径,举例来说 /ChatRoomForTest/chatpage/input.jsp 这个绝对路径就是指 http://localhost:8080/ChatRoomForTest/chatpage/input.jsp相对路径就是相对于当前文件目录来说的路径,以 ./ 开头或者省略 ./ ,比如chatpage/output.jsp,表示当前目录底下有个chatpage文件夹,里面有个output.jsp 或者output.jsp这个路径表示当前文件夹下的output.jsp文件 都算是相对路径