Mysql HTTP状态404 servlet请求
我正在尝试使用JSP站点和Servlet创建一个登录表单。在MySQL数据库中,我有以下列:Mysql HTTP状态404 servlet请求,mysql,servlets,login,Mysql,Servlets,Login,我正在尝试使用JSP站点和Servlet创建一个登录表单。在MySQL数据库中,我有以下列:FirstName、LastName、username和password。这里我补充了一些信息。当我运行我的JSP站点时,它应该检查LoginServlet,但是当我在JSP站点上点击submit时,我得到以下错误: HTTP Status 404 - /ConnectionLoginForm/LoginServlet type Status report message /ConnectionLogin
FirstName
、LastName
、username
和password
。这里我补充了一些信息。当我运行我的JSP站点时,它应该检查LoginServlet
,但是当我在JSP站点上点击submit时,我得到以下错误:
HTTP Status 404 - /ConnectionLoginForm/LoginServlet
type Status report
message /ConnectionLoginForm/LoginServlet
description The requested resource is not available.
我的Tomcat服务器正在运行等等。有人知道我为什么会犯这个错误吗?我放置JSP和servlet的路径应该是正确的。我正在使用Eclipse,我的JSP在WebContent下,servlet在src->package->servlet下。我发布了我所有的代码,但首先我可以想象只有JSP和LoginServlet存在问题?我希望有人能帮助我。向玛兹问好。
代码如下:
<%@ page language="java"
contentType="text/html; charset=windows-1256"
pageEncoding="windows-1256"
%>
<!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=windows-1256">
<title>Login Page</title>
</head>
<body>
<form action="LoginServlet">
Please enter your username
<input type="text" name="un"/><br>
Please enter your password
<input type="text" name="pw"/>
<input type="submit" value="submit">
</form>
</body>
</html>
UserBean Servlet:
package ExamplePackage;
public class UserBean {
private String username;
private String password;
private String firstName;
private String lastName;
public boolean valid;
public String getFirstName() {
return firstName;
}
public void setFirstName(String newFirstName) {
firstName = newFirstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String newLastName) {
lastName = newLastName;
}
public String getPassword() {
return password;
}
public void setPassword(String newPassword) {
password = newPassword;
}
public String getUsername() {
return username;
}
public void setUserName(String newUsername) {
username = newUsername;
}
public boolean isValid() {
return valid;
}
public void setValid(boolean newValid) {
valid = newValid;
}
}
package ExamplePackage;
import java.sql.*;
import java.util.*;
public class ConnectionManager {
static Connection con;
static String url;
public static Connection getConnection()
{
try
{
String url = "jdbc:mysql://localhost/ConnectionLoginFormDB";
// assuming "DataSource" is your DataSource name
Class.forName("com.mysql.jdbc.Driver");
try
{
con = DriverManager.getConnection(url,"username","password");
// assuming your SQL Server's username is "username"
// and password is "password"
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
catch(ClassNotFoundException e)
{
System.out.println(e);
}
return con;
}
}
userdaoservlet:
package ExamplePackage;
import java.text.*;
import java.util.*;
import java.sql.*;
public class UserDAO
{
static Connection currentCon = null;
static ResultSet rs = null;
public static UserBean login(UserBean bean) {
//preparing some objects for connection
Statement stmt = null;
String username = bean.getUsername();
String password = bean.getPassword();
String searchQuery =
"SELECT * FROM users WHERE username='"
+ username
+ "' AND password='"
+ password
+ "'";
// "System.out.println" prints in the console; Normally used to trace the process
System.out.println("Your user name is " + username);
System.out.println("Your password is " + password);
System.out.println("Query: "+searchQuery);
try
{
//connect to DB
currentCon = ConnectionManager.getConnection();
stmt=currentCon.createStatement();
rs = stmt.executeQuery(searchQuery);
boolean more = rs.next();
// if user does not exist set the isValid variable to false
if (!more)
{
System.out.println("Sorry, you are not a registered user! Please sign up first");
bean.setValid(false);
}
//if user exists set the isValid variable to true
else if (more)
{
String firstName = rs.getString("FirstName");
String lastName = rs.getString("LastName");
System.out.println("Welcome " + firstName);
bean.setFirstName(firstName);
bean.setLastName(lastName);
bean.setValid(true);
}
}
catch (Exception ex)
{
System.out.println("Log In failed: An Exception has occurred! " + ex);
}
//some exception handling
finally
{
if (rs != null) {
try {
rs.close();
} catch (Exception e) {}
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (Exception e) {}
stmt = null;
}
if (currentCon != null) {
try {
currentCon.close();
} catch (Exception e) {
}
currentCon = null;
}
}
return bean;
}
}
连接Servlet:
package ExamplePackage;
public class UserBean {
private String username;
private String password;
private String firstName;
private String lastName;
public boolean valid;
public String getFirstName() {
return firstName;
}
public void setFirstName(String newFirstName) {
firstName = newFirstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String newLastName) {
lastName = newLastName;
}
public String getPassword() {
return password;
}
public void setPassword(String newPassword) {
password = newPassword;
}
public String getUsername() {
return username;
}
public void setUserName(String newUsername) {
username = newUsername;
}
public boolean isValid() {
return valid;
}
public void setValid(boolean newValid) {
valid = newValid;
}
}
package ExamplePackage;
import java.sql.*;
import java.util.*;
public class ConnectionManager {
static Connection con;
static String url;
public static Connection getConnection()
{
try
{
String url = "jdbc:mysql://localhost/ConnectionLoginFormDB";
// assuming "DataSource" is your DataSource name
Class.forName("com.mysql.jdbc.Driver");
try
{
con = DriverManager.getConnection(url,"username","password");
// assuming your SQL Server's username is "username"
// and password is "password"
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
catch(ClassNotFoundException e)
{
System.out.println(e);
}
return con;
}
}
编辑:
web.xml
会不会是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>ConnectionLoginForm</display-name>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>ExamplePackage.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>
连接信息
罗金瑟夫莱特酒店
ExamplePackage.LoginServlet
罗金瑟夫莱特酒店
/罗金瑟夫莱特酒店
试试这个:
在web.xml中
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
Servlet
Servlet
Servlet
/servlet
您是否正确设置了七个映射注释在这里是什么样子的?或者我如何在web.xml中进行注释?我刚刚编辑了我的问题并将其放入了web.xml中。它看起来正确吗?当我运行代码时,我会进入“Invaliduserlogin.jsp”页面。所以现在发生了一些事情,但我只是得到了错误的页面:-/我再次检查,我输入了正确的信息