HTTP 会话和休眠组合使用



/* * 要更改此模板,请选择"工具"|"模板 * 并在编辑器中打开模板。 */

  package Registration;
  import Pojos.Users;
  import Pojos.hiber;
  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.ServletException;
  import javax.servlet.annotation.WebServlet;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import javax.servlet.http.HttpSession; 
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.hibernate.Transaction;
/**
*
* @author parag
 */

   @WebServlet(name="Reg",urlPatterns={"/Reg"})
   public class Reg extends HttpServlet{
   protected void processRequest(HttpServletRequest request, HttpServletResponse    response) 
        throws ServletException,IOException
    {
    response.setContentType("text/html; charset=UTF-8");
    PrintWriter out = response.getWriter();
    try{
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet Registration </title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet Registration</h1>");
        out.println("</body>");
        out.println("</html>");
    }
    finally{
        out.close();
    }
   }


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

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException
   {
   PrintWriter out = response.getWriter();

   String uname , fname ,lname, pwd , email , address , country , gender , hobby ,         education,image;

    uname = request.getParameter("user_name");
    fname = request.getParameter("fname");
    lname = request.getParameter("lname");
    pwd = request.getParameter("pass");
    String p = request.getParameter("phone");

    email =request.getParameter("em");
    address = request.getParameter("add");
    country = request.getParameter("country");
    gender = request.getParameter("gender");
    hobby = request.getParameter("hobby");
    education = request.getParameter("edu");
    String d = request.getParameter("sltdate");
    String m = request.getParameter("sltmonth");
    String y = request.getParameter("sltyear");
    String bdate = d+"--"+m+"--"+y;
  try{
    SessionFactory sessionFactory = hiber.getSessionFactory();
    Session session = sessionFactory.openSession();
    Users user = new Users();

    user.setUserName(uname);
    user.setFirstName(fname);
    user.setLastName(lname);
    user.setPassword(pwd);
    user.setPhoneNo(p);
    user.setProfPic(null);
    user.setEmail(email);
    user.setAddress(address);
    user.setBirthdate(bdate);
    user.setCountry(country);
    user.setGender(gender);
    user.setHobby(hobby);
    user.setEducation(education);
    session.save(user);
    Transaction transaction = session.beginTransaction();

    if (true){
   transaction.commit();
   HttpSession session1 = request.getSession(true);
   session1.setAttribute("un", uname);
    response.sendRedirect("image_upload.jsp");
    }
    out.println("okkkk");
    session.close();
    //response.sendRedirect("index.jsp");

}catch(Exception e){
    out.println("Error" +e.getMessage());
}

}
}

这是我定义 http 会话变量的 servlet,但在其他页面上我没有获得此会话变量。怎么办?

要检索存储在 jsp 中的会话中的对象(如果它们是字符串),您可以这样做。

<input type="text" value="${sessionScope.un}" />

<% String username = (String)request.getSession().getAttribute("un"); %>

此外,创建HibernateFactory是一个非常昂贵的过程,考虑不要在每个请求中创建。

相关内容

  • 没有找到相关文章

最新更新