2013-02-08 4 views
0

다음은 JSP 페이지에서 매개 변수를 가져 오는 서블릿입니다. 나는 다음과 같은 코드를 실행하려고servlet request.getParameter를 확인할 수 없습니다.

-..

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 

import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.swing.JFrame; 


public class oneServlet extends HttpServlet { 

public static Connection getConnection() throws Exception { 

    String driver = "org.postgresql.Driver"; 
    String url = "jdbc:postgresql://10.1.11.112:5432/pack"; 
    String username = "pack"; 
    String password = "pack"; 
    Class.forName(driver); 
    Connection conn = DriverManager.getConnection(url, username, password); 
    return conn; 
} 

public static void main(String[] args) throws Exception { 
    String user=request.getParameter("t1"); 
    String pass=request.getParameter("t2"); 
    Connection conn = null; 
    PreparedStatement pstmt = null; 
    try { 
     conn = getConnection(); 
     String queryTest = "select username,password from login"; 
     pstmt = conn.prepareStatement(queryTest); 

     ResultSet rs = pstmt.executeQuery(); 
     while (rs.next()) { 
     String username=rs.getString(1); 
     String password=rs.getString(2);  

    if(user.equals(username) && pass.equals(password)) 
     { 

    JFrame frame = new JFrame("/LoginSuccess.jsp"); 

     }  
     else 
     { 

      System.out.println("Login Failed,Please try Againe"); 
     } 
     }} 

    catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     pstmt.close(); 
     conn.close(); 
    } 
} 

을}

요구가 해결 될 수 없다 "고 request.getParameter에서 오류를 보여주는 사람이라면 날이 문제를 해결하는 데 도움이 될 수 있습니다

+2

시작에 serlvets에 대해 배우고 더에 대해 자세히 알아보세요 [우리 서블릿 위키] (http://stackoverflow.com/tags/servlets/info) –

답변

1

HttpServlet을 확장 할 때 doGetdoPost()을 무시해야하며 HttpServletRequestHttpServletResponse을 매개 변수로 사용하십시오.

예 :

public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws IOException, ServletException { 
    ....... 
     String user=request.getParameter("t1"); //Use request variable to do get... 
} 

() 주, 그들은 SelvletContainer 또는 시나리오 (바람둥이 같은) 웹 서버

에 의해 실행되는 나던 더 herehere

+1

그리고에 main' 방법 '의 코드를 이동 'doPost' 메소드. 'doGet'은 일반적으로 요청을 사전 처리하는 데 사용됩니다. –

+0

@RohitJain'doGet'은 서블릿의 서블릿 매핑에 직접 액세스하는 경우에만 실행됩니다. –

+1

@LuiggiMendoza. 정확히. 'method = GET'을 사용하여'form'에서'doGet'에 접근 할 수도 있지만, 나쁜 생각입니다. –

1

서블릿을 읽어보십시오.

public void doGet(){ 
    String user=request.getParameter("t1"); 
    String pass=request.getParameter("t2"); 
    Connection conn = null; 
    PreparedStatement pstmt = null; 
    try { 
     conn = getConnection(); 
     String queryTest = "select username,password from login"; 
     pstmt = conn.prepareStatement(queryTest); 

     ResultSet rs = pstmt.executeQuery(); 
     while (rs.next()) { 
     String username=rs.getString(1); 
     String password=rs.getString(2);  


     if(user.equals(username) && pass.equals(password)) 
      { 
    //JFrame frame = new JFrame("/LoginSuccess.jsp"); 
    request.getRequestDispatcher().redirect("/LoginSuccess.jsp"); 

     }  
     else 
     { 

      System.out.println("Login Failed,Please try Againe");//This will print at the console 
     } 
     }} 

    catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     pstmt.close(); 
     conn.close(); 
    } 

servlets

관련 문제