如何在登录后将sessionAttribute传递给userprofile

时间:2018-06-09 20:16:43

标签: jsp servlets

            try (PrintWriter out = response.getWriter()) {

                String firstname = request.getParameter("USERNAME");
                 String Password = request.getParameter("PASSWORD");

            try {

              if (firstname != null )
              {
                  Class.forName("com.mysql.jdbc.Driver").newInstance();
                  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample", "root", "");
                  String Query ="SELECT * FROM  user WHERE username=? AND password=?";
                  PreparedStatement ps = conn.prepareStatement(Query);
                  ps.setString(1, firstname);
          ps.setString(2, Password);

                  ResultSet as = ps.executeQuery();
                  if (as.next()) 
                  {

here my sessionAttribute? I try here to get the user to the index user profile but i coudn't so far?




                       request.setAttribute("username", firstname);
                       HttpSession session=request.getSession();
                       session.setAttribute("username",firstname);
                       System.out.println("Welcome"+firstname+""+session.getId());
                       RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
                       rd.forward(request, response);
                     /*  response.sendRedirect();*/

这里是我与sql的连接?

                  }
                  else {
                      response.sendRedirect("login falied try again please!! ");

                  }
              }

            }
                 catch (IOException | ClassNotFoundException  | IllegalAccessException | InstantiationException  | SQLException e) {
        // TODO Auto-generated catch block;
        out.println("Exception : "+e.getMessage());
                     }
            }
}
                   @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}
@Override
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);

}

}

为什么这不起作用?我尝试使用谷歌搜索,发现使用绝对路径(我现在试图避免)和使用“//”,这也不起作用。

是的,有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

jsp已经可以访问会话对象。

HttpSession session=request.getSession();

只需使用

session.setAttribute("username",firstname);