2013-03-24 150 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