2013-03-24 153 views
0

这里一个jsp是我login.jsp页面:链接,图像和HTML链接不工作

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title>Login Page</title> 
    </head> 
    <body> 

     <div align="center"> 
      <img src="<%= request.getContextPath() %>/image/asd.jpg"> 
     </div> 
     <div id=loginFormDiv align="center"> 
      <form name="loginform" method="post" action="<%= request.getContextPath() %>/login"> 
     <br><br> 
      <table align="center"><tr><td><h2>Login Authentication</h2></td></tr></table> 
      <table width="300px" align="center" style="border:1px solid #000000;background-color:#efefef;"> 
       <tr><td colspan=2></td></tr> 
       <tr><td colspan=2> </td></tr> 
       <tr> 
        <td><b>Login Name</b></td> 
        <td><input type="text" name="userName" value=""></td> 
       </tr> 
       <tr> 
        <td><b>Password</b></td> 
        <td><input type="password" name="password" value=""></td> 
       </tr> 
       <tr> 
        <td></td> 
        <td><input type="submit" name="Submit" value="Submit"></td> 
       </tr> 
       <tr><td colspan=2> </td></tr> 
      </table> 
     </form> 
    </div> 
    <div id="changePasswordLinkId" align="center"> 
     <a href="./ChangePassword.jsp">Change Password</a> 
    </div> 
</body> 
</html> 

这里当我加载这个页面首次图像以及链接到另一个JSP与div id =“changePasswordLinkId”不起作用。图像未显示,单击锚点链接将再次显示登录页面。但是,如果我登录一次并使用它们工作的浏览器的后退按钮。 此外,来自谷歌浏览器的控制台日志给出了一个警告:“资源解释为图像,但用MIME类型text/html传输:”htt_p:// localhot:8080/Tool/image/asd.jpg>“。ChangePassword.jsp :12“

Plz帮助我解决这个问题。我会非常感激。 在此先感谢。

+0

当您加载页面时,您是否在浏览器中看到任何404未找到? (使用萤火虫或铬开发工具) – 2013-03-24 10:34:49

+0

不,我看到的唯一一件事是再次加载相同的页面。即,我点击“更改密码”,上面的页面(上面给出的代码)再次被加载。 – user2204251 2013-03-24 11:06:37

+0

当图像无法加载时,您是否尝试分析浏览器控制台?什么是呈现的HTML? – 2013-03-24 11:17:58

回答

0

我试过了,它工作正常 - 第一次。

您正在使用哪台服务器?

你是如何部署jsp的?

+0

我正在使用tomcat版本7,eclipse IDE来开发应用程序,我正在开发jsp,通过使用默认的右键单击开发应用程序。 – user2204251 2013-03-24 11:15:47

+0

我是新来的eclipse ...我不知道我做了什么:在动态Web项目中创建了一个新文件,粘贴了你的代码,运行了我的ant deploywar目标,在firefox的本地主机上切换到tomcat7,并输入了jsp的url。第一次完美工作 - 你的代码是稳定的,日食...也许不是那么多。 – 2013-03-24 11:58:34

+0

感谢Ray的努力。我知道代码中没有任何错误。它应该可以工作,但是有些东西在第一次运行时会阻止它。 – user2204251 2013-03-24 12:33:02

0

Java EE应用程序服务器可以托管多个“webapp”。 紧接在端口之后的URI部分(以粗体显示)被称为webapp的contextPath。

在这种情况下,'index.html'位于名为myWebApp的webapp的根目录中。

在您发布的这些链接中,开发人员(正确)通过从请求对象中读取contextPath来构建相关链接。这允许重命名webapp而不需要改变应用中的每个链接。

+0

谢谢emrerme,但仍然是为什么图像和“更改密码”链接不起作用,当我首先在服务器上运行应用程序。但是,一旦我登录并返回图像可用,我可以点击“更改密码”链接并导航到ChangePassword.jsp。这里的问题是链接不能在第一次运行? – user2204251 2013-03-24 11:12:05