2011-08-07 59 views
0

我正在設計一個簡單的登錄。我有一個運行在MySQL上的數據庫....我創建了一個具有表單的登錄頁面。幫助JSP/Servlets ...?

<form action="login" name="login" method="post"> 
       <div id="contents" > 
        <table width="400" border="0"> 
         <tr> 
          <td height="44" width="100" style="color: white;">User Name: 
          </td> 
          <td><input name="username" id="username" type="text" /> 


          </td> 
         </tr> 
         <tr> 
           <td height="44" style="color: white;">Password: 
           </td> 
          <td><input name="password" type="password" id="password" /> 
          </td> 
         </tr> 

         <tr> 
          <td height="60">&nbsp; 
          </td> 
          <td><input name="login" type="submit" value="Login" onclick="return validate()"/> 
          </td> 
         </tr> 

        </table> 

        </div> 


      </form> 

也有Login.java文件....在調用的函數包....現在我試圖做的servlet映射,但是我不知道一疊我做錯了的原因我不斷收到

HTTP狀態404 -/WIFI /登錄 類型狀態報告

消息/ WIFI /登錄

描述所請求的資源(/ WIFI /登錄)不可用。

這是我在web.xml

<servlet> 
    <servlet-name>logicalName</servlet-name> 
    <servlet-class>functions.Login</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>logicalName</servlet-name> 
    <url-pattern>/login</url-pattern> 
    </servlet-mapping> 

會很感激的幫助,因爲我失去了....!

我有我的web.xml在錯誤的地方,但現在,我把它放在WEB-INF裏面...

我開始收到此錯誤

javax.servlet.ServletException: Error instantiating servlet class 

functions.Login 組織.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve .java:562) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler。進程(Http11Protocol.java:188) org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:302) java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(Unknown Source)java。 util.concurrent.ThreadPoolExecutor $ Worker.run(未知 源)java.lang.Thread.run(未知來源)

根源

拋出java.lang.ClassNotFoundException:功能的.login org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) org.apache.catalina.authenticator.AuthenticatorBase .invoke org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) org。 apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process( Http11Protocol.java:188) org.apache.tomcat.util.net.JIoEndpoint $ So ckitProcessor.run(JIoEndpoint.java:302) java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(Unknown Source)java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)java.lang.Thread。運行(未知來源)

但我的Login.Java類存在.... !!!

+2

閱讀服務器日誌。該servlet可能未能初始化。日誌應該包含一個異常,反過來應該包含問題的答案。 – BalusC

+0

謝謝......但我在哪裏可以找到日誌? – John

回答

0

我覺得你非常接近。在我看來,唯一的問題是您的表單上的action屬性。它的工作原理任何更好,如果你這樣做:

<form action="/login" name="login" method="post"> 
+0

沒有工作.....現在錯誤只是改變消息/登錄 – John

+0

嗯,所以然後別的東西無法正常工作。你在服務器日誌中看到任何堆棧跟蹤嗎? – aroth

+0

不,我沒有....我剛剛開始使用JSP,所以甚至不知道如何調試 – John

2

拋出java.lang.ClassNotFoundException:functions.Login

文件/WEB-INF/classes/functions/Login.class丟失。

編譯functions/Login.java使用javac在classpath中Tomcat/lib/servlet-api.jar,然後把生成的文件functions/Login.class那裏的/WEB-INF/classes

但我Login.Java類存在

這不是一個類文件。這是一個Java源文件。類文件的擴展名爲.class,根據.java文件生成javac