[英]Jsp connecting to servlet HTTP Status 404
我正在嘗試制作一個登錄servlet。 我有一個login.jsp,我從中使用表單獲取數據,一個LoginServlet,其中我使用HttpSession,最后是我的web.xml,我在stackoverflow中進行了搜索,並糾正了發現的一些錯誤。 即使找不到我的LoginServlet:
HTTP狀態404-/test_pages/main_pages/com.register/LoginServlet
type: Status report
message: /test_pages/main_pages/com.register/LoginServlet
description: The requested resource is not available.
我在狀態404中看到我的servlet的路徑是: /test_pages/main_pages/com.register/LoginServlet
這是錯誤的道路。 我的servlet不在main_pages中。 我在寫密碼。 我必須做一個項目才能在Tomcat中運行所有主題,這讓我非常困惑。 我的LoginServlet在Java Resources / src / com.register中。 “ com.register”是我的軟件包。
您能告訴我以我的形式編寫動作的正確方法嗎? 您是否認為問題出在其他地方? 請幫我! 提前致謝!
這是我的代碼:
login.jsp
.
.
.
<form action="com.register/LoginServlet" method="post">
<p>
<label id="upodeiksh">username</label>
<br />
<input type="text" name="username" id="koutaki" required/>
</p>
<br />
<p>
<label id="upodeiksh">password</label>
<br />
<input type="password" name="password" id="koutaki" required/>
</p>
<br />
<input type="submit" name="upload" value="login" id="submit_button"/>
</form>
LoginServlet.java
package com.register;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/jsp");
PrintWriter out=response.getWriter();
request.getRequestDispatcher("test.jsp").include(request, response);
String name=request.getParameter("username");
String password=request.getParameter("password");
String psw = null;
Connection con = null;
PreparedStatement pr = null;
ResultSet rs = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ted","root","1234");
pr = con.prepareStatement("select * from ted.users where usrname=?;");
pr.setString(1, name);
rs = pr.executeQuery();
//An den brethei to onoma
if(rs == null)
{
out.print("Το όνομα χρήστη : "+name+" δεν υπάρχει");
request.getRequestDispatcher("main_pages/login.jsp").include(request, response);
}
else
{
//An brethei to onoma
while(rs.next())
{
psw = rs.getString("psw");
}
if(psw != password)
{
out.print("Λάθος κωδικός πρόσβασης");
request.getRequestDispatcher("main_pages/login.jsp").include(request, response);
}
else if(psw == password)
{
out.print("Γεια");
HttpSession session=request.getSession();
session.setAttribute("name",name);
}
}
}
catch (Exception e)
{
System.out.println("The error is=="+e.getMessage());
}
finally
{
try
{
con.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}
web.xml
.
.
<servlet>
<description></description>
<display-name>LoginServlet</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.register.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet>
.
.
您的Servlet映射錯誤。 像這樣更改表單動作
<form action="LoginServlet" method="post">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.