Java 请求的资源不可用。
我正在向JDBC申请注册。但我得到了这个错误。我想我的java.bean有问题,我的字段是空的 web.xmlJava 请求的资源不可用。,java,spring,jsp,servlets,jdbc,Java,Spring,Jsp,Servlets,Jdbc,我正在向JDBC申请注册。但我得到了这个错误。我想我的java.bean有问题,我的字段是空的 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.or
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
version="2.5">
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.pfa.Servlets.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>com.pfa.Servlets.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/registerServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
注册号:Dao
package com.pfa.Dao;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
import com.pfa.bean.User;
public class RegisterDao {
public static int register(User u) throws ClassNotFoundException{
int status=0;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
conn = (Connection) DriverManager
.getConnection("jdbc:mysql://localhost:3306/form", "root", "");
Statement ps = (Statement) conn
.createStatement();
Statement ps1 = (Statement) conn
.createStatement();
ResultSet res = ps
.executeQuery("Select * from user");
// Process the result set
boolean test = false;
while (res.next()) {
if ((res.getString("userName").equals(u.getUname()))
|| (res.getString("password")
.equals(u.getUpass()))|| (res.getString("email").equals(u.getUemail()))) {
test = true;
status=0;
System.out.print("<p style=\"color:red\">Y ou ve a lreadyy Logged in</p>");
}
}
if (!test) {
String query = "insert into user"
+ " (userName ,password,email)"
+ " values ('" + u.getUname() + "','"
+ u.getUpass() + "','" +u.getUemail()+")";
ps1.executeUpdate(query);
System.out.println("Insert complete");
status=1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return status;
}
}
package com.pfa.Dao;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入javax.swing.JOptionPane;
导入com.mysql.jdbc.Connection;
导入com.mysql.jdbc.PreparedStatement;
导入com.mysql.jdbc.Statement;
导入com.pfa.bean.User;
公营班级登记处{
公共静态int寄存器(用户u)抛出ClassNotFoundException{
int status=0;
试试{
Class.forName(“com.mysql.jdbc.Driver”);
连接conn=null;
连接=(连接)驱动器管理器
.getConnection(“jdbc:mysql://localhost:3306/form“,”根“,”);
语句ps=(语句)conn
.createStatement();
语句ps1=(语句)conn
.createStatement();
结果集res=ps
.executeQuery(“从用户中选择*);
//处理结果集
布尔检验=假;
while(res.next()){
如果((res.getString(“userName”).equals(u.getUname()))
||(res.getString(“密码”)
.equals(u.getUpass())| |(res.getString(“email”).equals(u.getUemail())){
测试=真;
状态=0;
System.out.print(“Y您已经登录了lreadyy
”;
}
}
如果(!测试){
String query=“插入用户”
+(用户名、密码、电子邮件)
+值(“+u.getUname()+”,”
+u.getUpass()+”,“+u.getUemail()+”;
ps1.执行更新(查询);
系统输出打印项次(“插入完成”);
状态=1;
}
}捕获(SQLE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回状态;
}
}
RegisterServlet.java
package com.pfa.Servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.pfa.Dao.LoginDao;
import com.pfa.Dao.RegisterDao;
import com.pfa.bean.User;
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 102831973239L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n = request.getParameter("username");
//String p = request.getParameter("userpass");
//String q = request.getParameter("useremail");
HttpSession session = request.getSession(false);
if (session != null)
session.setAttribute("name",n);
User u = new User();
try {
if (RegisterDao.register(u)!=0) {
RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp");
rd.forward(request, response);
} else {
out.print("<p style=\"color:red\">Sorry u ve already Logged in</p>");
RequestDispatcher rd = request.getRequestDispatcher("register.jsp");
rd.include(request, response);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.close();
}
}
package com.pfa.Servlets;
导入java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.RequestDispatcher;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入javax.servlet.http.HttpSession;
导入com.pfa.Dao.LoginDao;
导入com.pfa.Dao.RegisterDao;
导入com.pfa.bean.User;
公共类RegisterServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=102831973239L;
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
字符串n=request.getParameter(“用户名”);
//字符串p=request.getParameter(“userpass”);
//字符串q=request.getParameter(“useremail”);
HttpSession session=request.getSession(false);
if(会话!=null)
session.setAttribute(“名称”,n);
用户u=新用户();
试一试{
如果(寄存器道.寄存器(u)!=0){
RequestDispatcher rd=request.getRequestDispatcher(“welcome.jsp”);
转发(请求、响应);
}否则{
out.print(“对不起,您已经登录了“
”;
RequestDispatcher rd=request.getRequestDispatcher(“register.jsp”);
包括(请求、响应);
}
}catch(classnotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
out.close();
}
}
register.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859- 1">
<title>Login Application</title>
</head>
<body>
<form action="Process.jsp" method="post">
<fieldset style="width: 300px">
<legend> Register to App </legend>
<table>
<tr>
<td>User ID</td>
<td><input type="text" name="username" required="required" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="userpass" required="required" /></td>
</tr>
<tr>
<td>email</td>
<td><input type="text" name="useremail" required="required" /></td>
<tr>
<td><input type="submit" value="Login" /></td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
登录应用程序
注册到应用程序
用户ID
暗语
电子邮件
process.jsp
<%@page import="com.pfa.Dao.*"%>
<jsp:useBean id="obj" class="com.pfa.bean.User"/>
<jsp:setProperty property="*" name="obj"/>
<%
int status=RegisterDao.register(obj);
if(status>0)
out.print("You are successfully registered");
%>
0)
打印(“您已成功注册”);
%>
username,应该使用setUsername而不是setUname,您可以找到一些关于java反射的资源,有些资源建议您最好使用preparedstatement来查找结果,如“select*from user where uname=”?”(以避免sql注入,并且更高效)请编辑您的问题,将您遇到的错误文本包括在内。当您单击某个内容时,甚至当您尝试加载servlet时,您从何处得到此错误?你能提供堆栈跟踪吗?实际上堆栈跟踪没有显示任何错误!!!我确信错误来自我的javabean文件,因为我制作了sop,它显示了一个空值!我修改了我的JavaBean文件,字段与我的数据库相同,但仍然得到相同的错误我的项目结构可能是错误的我有webcontent(WEB-INF(lib-WEB.xml)/process.jsp/register.jsp),我在写名字时遇到了这个错误,发送电子邮件和密码,然后单击“提交”以注册。实际上,此路径不可用/SignInProject/Process.jsp!!实际上堆栈跟踪没有显示任何错误!!!我确信错误来自我的javabean文件,因为我制作了sop,它显示了一个空值!我修改了我的JavaBean文件,字段和我的数据库相同,但仍然得到了相同的错误。我的项目结构可能是错误的,我有webcontent(WEB-INF(lib-WEB.xml)/process.jsp/register.jsp),我在写名称、电子邮件时遇到了这个错误
<%@page import="com.pfa.Dao.*"%>
<jsp:useBean id="obj" class="com.pfa.bean.User"/>
<jsp:setProperty property="*" name="obj"/>
<%
int status=RegisterDao.register(obj);
if(status>0)
out.print("You are successfully registered");
%>