2017-12-16 4 views
0

에 JSP (Eclipse)를 사용하여 데이터 삽입하기 그래서 JSP 형식의 레코드를 데이터베이스 (XAMPP, MySQL)에 등록 (삽입)하려고합니다. 세부 사항은 다음과 같습니다 : 나는 로컬 호스트에서 실행하고 세부 사항을 입력 할 때데이터베이스 (XAMPP, MySQL)

는 register.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>Insert title here</title> 
</head> 
<body> 

    <form action = "RegisterController" method = "post"> 
     <input type = "text" name = "email" placeholder = "Your e-mail"><br><br> 
     <input type = "text" name = "firstname" placeholder = "First name"><br><br> 
     <input type = "text" name = "lastname" placeholder = "Last name"><br><br> 
     <input type = "text" name = "address" placeholder = "Home address"><br><br> 
     <input type = "text" name = "phone" placeholder = "Your phone number"><br><br> 
     <input type = "password" name = "password"><br><br> 
     <input type = "submit" name = "submit" value = "Register"> 
    </form> 

</body> 
</html> 

RegisterController.java

package cms.com; 

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 javax.servlet.ServletConfig; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class RegisterController 
*/ 
public class RegisterController extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public RegisterController() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     try{ 

      String email = request.getParameter("email"); 
      String firstname = request.getParameter("firstname"); 
      String lastname = request.getParameter("lastname"); 
      String address = request.getParameter("address"); 
      String phone = request.getParameter("phone"); 
      String password = request.getParameter("password"); 
      String sql = "insert into users(email,firstname,lastname,address,phone,password) values(?,?,?,?,?,?)"; 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cms","root",""); 
      PreparedStatement pst = conn.prepareStatement(sql); 

      pst.setString(1,email); 
      pst.setString(2,firstname); 
      pst.setString(3,lastname); 
      pst.setString(4,address); 
      pst.setString(5, phone); 
      pst.setString(6, password); 

      pst.executeUpdate(); 
      PrintWriter out = response.getWriter(); 
      out.println("You have successfully registered!"); 

     } 
     catch(ClassNotFoundException e){ 
      e.printStackTrace(); 
     } 
     catch(SQLException e){ 
      e.printStackTrace(); 
     } 
    } 

} 

그래서, 그것은 단지 빈 페이지를 표시 테이블에 아무런 업데이트도 없었습니다. 디버깅을하면 런타임 중에 오류가 표시되지 않습니다. 동적 모듈 2.5와 Apache Tomcat 7.0에서 Eclipse Luna를 사용하고 있습니다.

답변

0

당신은 당신의 프로젝트에 Mysql 단지를 추가해야하고 당신은 web.xml 파일 (WebContent\WEB-INF\Web.xml)

을에 RegisterController 파일을 매핑도 Register.jsp에 '폼 액션'의 경로를 확인하고 'URL 패턴'해야 Web.xml에서 둘 다 동일해야합니다.