Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 请求的资源不可用。_Java_Spring_Jsp_Servlets_Jdbc - Fatal编程技术网

Java 请求的资源不可用。

Java 请求的资源不可用。,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

我正在向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.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");    
     %>