0

以下は、jsp ページからパラメーターを取得するためのサーブレットです。

次のコードを実行しようとしています -

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 に " リクエストを解決できないというエラーが表示されています。誰でも解決できますか?

4

2 に答える 2

1

サーブレットには main() がありません。これらは SelvletContainer または Webserver (Tomcat など) によって実行されます。

あなたのシナリオでは。

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();
    }

サーブレットの詳細

于 2013-02-08T04:56:04.390 に答える
1

を拡張するときは、パラメータとしてandを取るandHttpServletをオーバーライドする必要があります。doGetdoPost()HttpServletRequestHttpServletResponse

例:

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

ここここでもっと読む

于 2013-02-08T04:47:12.913 に答える