2017-07-03 177 views
-2

我想连接到PostgreSQL数据库,但它显示文件未找到。连接到postgres数据库

我正在从表单输入并尝试在数据库中添加这些输入。 我的代码是否正确?数据库在Netbeans中连接,但没有在线获取值。

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 

import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* 
* @author Admin 
*/ 
public class login extends HttpServlet { 

    /** 
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> 
    * methods. 
    * 
    * @param request servlet request 
    * @param response servlet response 
    * @throws ServletException if a servlet-specific error occurs 
    * @throws IOException if an I/O error occurs 
    */ 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException, ClassNotFoundException { 
     response.setContentType("text/html;charset=UTF-8"); 
     String name= request.getParameter("name"); 
      String lname= request.getParameter("lname"); 
      String dob= request.getParameter("dob"); 
      String email=request.getParameter("email"); 
      String password = request.getParameter("password"); 
      String mobilenumber= request.getParameter("mobilenumber"); 
      String epertiselevel=request.getParameter("epertiselevel"); 

     try (PrintWriter out = response.getWriter()) { 
      /* TODO output your page here. You may use following sample code. */ 
      Class.forName("org.postgresql.Driver"); 
      Connection con =DriverManager.getConnection 
        ("jdbc:postgresql://localhost:5434/mydb","postgres","admin"); 
       PreparedStatement ps=con.prepareStatement("insert into \"public\".\"user\" values('"+name+"','"+dob+"','"+email+"','"+password+"','"+mobilenumber+"','"+epertiselevel+"')"); 
       ps.setString(1, name); 
     ps.setString(2, lname); 
     ps.setString(3, dob); 
     ps.setString(4, email); 
     ps.setString(5, password); 
     ps.setString(6, mobilenumber); 
     ps.setString(7, epertiselevel); 
      Statement stmt=con.createStatement(); 
      int i = 0; 
      if(i>0) 
      { 
      out.println("You are sucessfully registered"); 
      }else{ 
     out.println("Failed in registration"); 
     } 
     } catch (SQLException se) { 
      se.printStackTrace(); 
     } 

    } 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> 
    /** 
    * Handles the HTTP <code>GET</code> method. 
    * 
    * @param request servlet request 
    * @param response servlet response 
    * @throws ServletException if a servlet-specific error occurs 
    * @throws IOException if an I/O error occurs 
    */ 
    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     try { 
      processRequest(request, response); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

    /** 
    * Handles the HTTP <code>POST</code> method. 
    * 
    * @param request servlet request 
    * @param response servlet response 
    * @throws ServletException if a servlet-specific error occurs 
    * @throws IOException if an I/O error occurs 
    */ 
    @Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     try { 
      processRequest(request, response); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

    /** 
    * Returns a short description of the servlet. 
    * 
    * @return a String containing servlet description 
    */ 
    @Override 
    public String getServletInfo() { 
     return "Short description"; 
    }// </editor-fold> 

} 
<!DOCTYPE html> 
<!-- 
To change this license header, choose License Headers in Project Properties. 
To change this template file, choose Tools | Templates 
and open the template in the editor. 
--> 
<html> 
    <head> 

<style> 
    h1{background-color:orange;color:white;} 
    body{background-color:lightblue} 
</style> 
    </head> 
<body> 
<h1>SIGNUP</h1> 
<form name="myForm" action="login" method="post"> 
Name: <input type="text" name="name"><br> 
Last Name:<input type="text" name="lname"><br> 
DOB:<input type="date" name="dob"><br> 
EMAIL:<input type="text" name="email"><br> 
Password<input type="password" value="password" name="password"><br> 
    Mobile No:<input type="text" name="mobilenumber"><br> 
Expertise Level in Biodiversity:<br><input type="radio" name="epertiselevel" value="begginer">Begginer<br> 
<input type="radio" name="epertiselevel" value="intermediate">Intermediate<br> 
<input type="radio" name="epertiselevel" value="advanced">Advanced<br> 
<input type="radio" name="epertiselevel" value="nothing">Nothing<br> 
<input type="submit" value="SIGNUP"> 
<input type="reset" value="Reset"> 
</form> 

</body> 
</html> 
+0

请出示您的堆栈跟踪 –

+0

同样在你使用的是'PreparedStatment'但使用'设置附加价值**和** ...'方法 –

+0

抱歉没有找到你 – sangeeta

回答

0

最初我是想通过servlet的 连接牛逼Postgres的,但现在我whrn写JSP这段代码的正常工作 林显示连接的Postgres的演示。 尝试通过JSP连接到其Postgres的工作

jsp code 
 

 
<style> 
 
    h1{background-color:orange;color:white;} 
 
    body{background-color:lightblue} 
 
</style> 
 
    </head> 
 
<body> 
 
<h1>SIGNUP</h1> 
 
<% 
 
    String user_name = request.getParameter("u_name"); 
 
     String user_email = request.getParameter("u_email"); 
 
     String user_pass = request.getParameter("u_pass"); 
 
    Class.forName("org.postgresql.Driver"); 
 
try{ 
 
Connection conn=DriverManager.getConnection("jdbc:postgresql://localhost:5434/mydb","postgres","admin"); 
 
    
 
PreparedStatement ps; 
 
    ps=conn.prepareStatement("insert into public.registration values(?,?,?)"); 
 
    
 
     ps.setString(1, user_name); 
 
     ps.setString(2, user_email); 
 
     ps.setString(3, user_pass); 
 
     int i=ps.executeUpdate(); 
 
     
 
      if(i>0) 
 
      { 
 
      out.println("You are sucessfully registered"); 
 
      }else{ 
 
\t out.println("Failed in registration"); 
 
\t } 
 
     
 
     } 
 
     catch(Exception se) 
 
     { 
 
      se.printStackTrace(); 
 
     } 
 

 
%> 
 
</body> 
 
</html>
!DOCTYPE HTML> 
 
<html> 
 
    <head> 
 
     <title>Registration </title> 
 
    </head> 
 
    <body> 
 
     <h1>hjhjj</h1> 
 
     <form method="post" action="first.jsp"> 
 
     User Name:<input type="text" name="u_name" /><br/> 
 
     User Email ID:<input type="text" name="u_email" /><br/> 
 
     User Password:<input type="text" name="u_pass" /><br/> 
 
     <input type="submit" value="register" /> 
 
     </form> 
 
    </body> 
 
</html>

相关问题