0

Java EE Web アプリケーション開発者向けに、Tomcat 7.0.14、jdk1.6、および Eclipse Indigo を使用しています。私はJSPが初めてなので、コーディングが簡単になると思ったのでEclipseを試しました。私はこのビデオチュートリアルに厳密に従いました。

プロジェクトの刑務所の下に2つのファイルを作成しました-login.java、home.html、および変更されたweb.xmlも。ログイン(これは最初のページです)ページで送信ボタンをクリックすると、次のエラーのみが表示されます。

   File not found
          Firefox can't find the file at /D:/eclipse/Workspace/Prisonhome/WebContent/WEB-INF/Log?user=sa&pass=sa&action=That's+me. 

プロジェクトをワークスペースに保存するだけでは不十分かどうかはわかりません。

ビデオで指定されたファイルの場所と私の Eclipse ファイルの間にいくつかの不一致がありました。例:web.xml私の Eclipse では、web content->WEB_INF->lib->web.xml ではなく、servers->apache-tomcat ディレクトリにありました。大切ですか?

私のコード: index.html

<html>
<head>
    <title> Welcome :) </title>
</head>
<body>
<form action="Log" method="get">
            <B>
            <br><br><br><br><br><br><br><br><br><br><br><br>
            &nbsp;&nbsp;&nbsp;&nbsp;Username: <input type=text name="user"><br><br>
            &nbsp;&nbsp;&nbsp;&nbsp;Password: <input type=text name="pass"><br><br>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=action value="That's me" style="background-color:666666; color:ffffff; border-color:ee0088">
            </B></font>
        </form>
    </body>
</html>

ログイン.java:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String uname=request.getParameter("user");
    String passwd=request.getParameter("pass");
    response.getWriter().println("<html><head>This is the response!</head>");
    response.getWriter().println("<body>Response!!</body></html>");
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
}

web.xml:

<servlet>
    <servlet-name>Log</servlet-name>
    <servlet-class>org.prisonhome.packs.Login</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Log</servlet-name>
    <url-pattern>/Log/*</url-pattern>
</servlet-mapping>
4

2 に答える 2

0

tomcat-ie 上のファイルにアクセスする必要がありますhttp://localhost:8080/Prisonhome/index.html。ファイルエクスプローラーから起動しないでください。

これを機能させるには、アプリケーションをデプロイし、サーバー (Tomcat) を実行する必要があります。

于 2011-05-31T17:47:37.970 に答える
0

Firefox は /D:/eclipse/Workspace/Prisonhome/WebContent/WEB-INF/Log?user=sa&pass=sa&action=That's+me でファイルを見つけることができません。

ローカル ディスクのファイル システム パスではなく、実際の Web URL でページを開く必要があります。Tomcat がポート 8080 の localhost で実行されていて、webapp コンテキスト名Prisonhome

http://localhost:8080/Prisonhome/index.html

チュートリアルに関しては、 Coreservlets.comのチュートリアルを読むことをお勧めします。リンクのリストは、サーブレット wiki ページの下部にあります。


具体的な問題とは関係ありませんが、GET を使用してログインすることは、誰もが URL でパスワードを見ることができるため、実際には安全ではありません。HTML<font>タグは 1998 年以降非推奨になっています。代わりに CSS を使用してください。<br>タグとタグを大量に使用する&nbsp;必要もありません。代わりに、CSS の位​​置/マージン/パディングを使用してください。

于 2011-05-31T17:47:38.387 に答える