1

doGet と doPost の両方で受け入れ可能なセッションを宣言する必要があるサーブレットがあります。私はやった

@WebServlet(name = "LoginLogout", urlPatterns = {"/LoginLogout.do"})public class LoginLogout extends HttpServlet {//For Session
HttpSession session = request.getSession(true);

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
}


@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String status = request.getParameter("status");
    System.out.println(status);
}


@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    try {
        String loginId = request.getParameter("login_id");
        String password = request.getParameter("password");

        System.out.println(loginId);

        //Inserting value to the Pogo named "newLoginPogo"
        loginData newLoginPogo = new loginData();
        newLoginPogo.setLoginId(loginId);
        newLoginPogo.setPassword(password);

        //Creating a obj of ModelLogin to send the loginId and Password via a method which is in ModelLogin class
        ModelLogin loginBis = new ModelLogin();
        loginData userData = loginBis.checkUser(newLoginPogo);
        String userExist = userData.getUserExist();
        System.out.println(userExist);
        if ("yes".equals(userExist)) {
            System.out.println("In while loop of Servlet");

            String firstName = userData.getFirstName();
            String userId = userData.getUserId();
            boolean IsSu = userData.getIsSu();
            //conveting boolean to string
            String superuser = new Boolean(IsSu).toString();

            //Creating a session 

            session.setAttribute("firstName", firstName);
            session.setAttribute(userId, "userId");
            session.setAttribute(superuser, "IsSu");
            //==============================================================================================================
            //If user does exist show the Success Message and forward Dashboard 
            //==============================================================================================================

            //Session for success message
            String succmsg = "Login Successful";
            session.setAttribute("succmsg", succmsg);

            getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/ViewPages/dashboard/dashboard.jsp").forward(request, response);

        } //==============================================================================================================
        //If user does not exist show the Error Message  
        //==============================================================================================================
        else if ("no".equals(userExist)) {
            //Session for success message
            System.out.println("inside NO");
            String emsg = "Login Error";
            session.setAttribute("errmsg", emsg);
            getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
        } else {
        }
        /*
        //===============================================================================================================    
        //code for Logout
        //===============================================================================================================
        String status = request.getParameter("status");
        if ("logout".equals(status)) {
            //clearing the session
            session.invalidate();
            //forwarding to index page
            getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
        }
        */
    } finally {
    }
}}

しかし、それは言う

Can Not find Symbol

この行で HttpSession session = request.getSession(true);

4

2 に答える 2

0

あなたが望むのは、HTTP セッションの役割の 1 つです。
クライアントとサーバー間の会話として見ることができます。
「会話」(HTTP セッション) が開いていて有効である限り、HTTP セッションで変数を設定し、同じセッションで送信されるさまざまな要求からそれらにアクセスできます。
これは、「会話時間」中に存在するある種の「共有メモリ」と見なしてください。
これを行う方法については、インターネット上で多くの例を見つけることができます。セッション トラッキング
の例を次に示します。

于 2012-09-08T06:18:06.977 に答える