无法从 jsp 调用 servlet 文件 - 发现 404 错误
Unable to call servlet file from jsp - 404 error found
我的索引页面已更改为 Register_1.jsp 并也在 xml 文件中进行了更新,该页面 运行 正常,带有连接 servlet 文件的操作字段 Guru_register i在下图中的 Eclipse 中添加了 jsp 代码以及 java 代码和结构 请帮助我 在此先感谢...!!
Register_1.jsp
<body>
<h1>Guru Register Form</h1>
<form action="Guru_register.java" method="post">
<table style="with: 50%">
<tr>
<td>First Name</td>
<td><input type="text" name="first_name" /></td>
</tr>
<tr>
<td>Last Name</td>
<td><input type="text" name="last_name" /></td>
</tr>
<tr>
<td>UserName</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>Contact No</td>
<td><input type="text" name="contact" /></td>
</tr></table>
<input type="submit" value="Submit" /></form>
</body>
Register_2.jsp
<%@ 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>Guru Success Page</title>
</head>
<body>
<a><b>Welcome User!!!!</b></a>
</body>
</html>
我的 servlet class
public class Guru_register extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String first_name = request.getParameter("first_name");
String last_name = request.getParameter("last_name");
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
String contact = request.getParameter("contact");
System.out.println(first_name+" "+contact);
if(first_name.isEmpty() || last_name.isEmpty() || username.isEmpty() ||
password.isEmpty() || address.isEmpty() || contact.isEmpty())
{
RequestDispatcher req = request.getRequestDispatcher("Register_1.jsp");
req.include(request, response);
}
else
{
RequestDispatcher req = request.getRequestDispatcher("Register_2.jsp");
req.forward(request, response);
}
}
}
我尝试了两种方式提交带有值的表单,但没有任何一种方式出现相同的错误。
你需要在动作中给Servlet Name,不需要指定任何东西;
<body>
<h1>Guru Register Form</h1>
<form action="Guru_register" method="post">
//带注解的Servlet
@WebServlet("/Guru_register")
public class Guru_register extends HttpServlet {
private static final long serialVersionUID = 1L;
尝试将 servlet 信息添加到 web.xml
首先将你的 servlet 移动到一个包中,我们称之为 'controllers',因此文件的新位置将是 src > controllers > Guru_register.java
<servlet>
<servlet-name>Guru_register</servlet-name>
<servlet-path>controllers.Guru_register</servlet-path>
</servlet>
<servlet-mapping>
<servlet-name>Guru_register</servlet-name>
<url-pattern>/guru-register</url-pattern>
</servlet-mapping>
接下来,修改jsp表格如下:
<form action="guru-register" method="post">
我的索引页面已更改为 Register_1.jsp 并也在 xml 文件中进行了更新,该页面 运行 正常,带有连接 servlet 文件的操作字段 Guru_register i在下图中的 Eclipse 中添加了 jsp 代码以及 java 代码和结构 请帮助我 在此先感谢...!!
Register_1.jsp
<body>
<h1>Guru Register Form</h1>
<form action="Guru_register.java" method="post">
<table style="with: 50%">
<tr>
<td>First Name</td>
<td><input type="text" name="first_name" /></td>
</tr>
<tr>
<td>Last Name</td>
<td><input type="text" name="last_name" /></td>
</tr>
<tr>
<td>UserName</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>Contact No</td>
<td><input type="text" name="contact" /></td>
</tr></table>
<input type="submit" value="Submit" /></form>
</body>
Register_2.jsp
<%@ 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>Guru Success Page</title>
</head>
<body>
<a><b>Welcome User!!!!</b></a>
</body>
</html>
我的 servlet class
public class Guru_register extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String first_name = request.getParameter("first_name");
String last_name = request.getParameter("last_name");
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
String contact = request.getParameter("contact");
System.out.println(first_name+" "+contact);
if(first_name.isEmpty() || last_name.isEmpty() || username.isEmpty() ||
password.isEmpty() || address.isEmpty() || contact.isEmpty())
{
RequestDispatcher req = request.getRequestDispatcher("Register_1.jsp");
req.include(request, response);
}
else
{
RequestDispatcher req = request.getRequestDispatcher("Register_2.jsp");
req.forward(request, response);
}
}
}
我尝试了两种方式提交带有值的表单,但没有任何一种方式出现相同的错误。
你需要在动作中给Servlet Name,不需要指定任何东西;
<body>
<h1>Guru Register Form</h1>
<form action="Guru_register" method="post">
//带注解的Servlet
@WebServlet("/Guru_register")
public class Guru_register extends HttpServlet {
private static final long serialVersionUID = 1L;
尝试将 servlet 信息添加到 web.xml 首先将你的 servlet 移动到一个包中,我们称之为 'controllers',因此文件的新位置将是 src > controllers > Guru_register.java
<servlet>
<servlet-name>Guru_register</servlet-name>
<servlet-path>controllers.Guru_register</servlet-path>
</servlet>
<servlet-mapping>
<servlet-name>Guru_register</servlet-name>
<url-pattern>/guru-register</url-pattern>
</servlet-mapping>
接下来,修改jsp表格如下:
<form action="guru-register" method="post">