【问题标题】:Using jsp page instead of java servlet使用 jsp 页面代替 java servlet
【发布时间】:2019-03-06 20:41:51
【问题描述】:

我使用 HTML 页面和 Java Servlet 类创建了一个登录页面。但是我想知道是否可以使用 JSP 而不是 Java 文件?那么有必要在Java类中使用这段代码到一个JSP页面中并且仍然具有相同的功能吗?

<form action="Lognn" method="post"> 

<input  type="text" name="name"/>
<input type="text"name="pass"/>

Java 类

 Public class Login extends HttpServlet {


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

        String name = request.getParameter("name");
        String pass = request.getParameter("pass");
        MyDb1 db = new MyDb1();
      Connection con = db.getCon();
      Statement stmt = con.createStatement();
     ResultSet rs = stmt.executeQuery("select uid,name,pass from register where email = '"+name+"' and  pass = '"+pass+"'");

     while ((rs.next())) {

        String uid = rs.getString("uid");

         //out.println("User id"+uid);
          HttpSession session=request.getSession();  
          session.setAttribute("name",uid);
          response.sendRedirect("http://localhost:8080/Final/userprofile.jsp");  

} 


} catch (SQLException ex) {
        Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);

      }

【问题讨论】:

  • 顺便问一下,这只是为了学习目的吗?

标签: java html database servlets


【解决方案1】:

一般来说,每个 JSP 都会被翻译和编译成一个 servlet,而你可以用 servlet 做的很多事情都可以用 JSP 做。

你可以把你的表单action="Lognn" method="post"改为表单action="Lognn.jsp" method="post",然后

在 Lognn.jsp 中,您可以从 html 中读取输入参数,例如 ,然后

在 Lognn.jsp 中,您可以直接连接到数据库,也可以使用 EJB

最后你可以从同一个 JSP 中返回 html 输出。

它在没有 servlet 的情况下正式工作,但在 CATALINA_HOME/WORk 目录中,将在内部创建一个 servlet,并从您的 JSP 编译。

【讨论】:

  • 但是don't do any of this。理想情况下,使用像 Spring 这样真正的 MVC 技术(完全跳过 JSP,因为它有一些严重的问题)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 2013-11-25
  • 2018-01-17
  • 1970-01-01
相关资源
最近更新 更多