我已经使用HTML页面和Java Servlet类创建了一个登录页面。但是,我想知道是否有可能用JSP代替Java文件?那么,在JSP页面中使用Java类中的这段代码仍然具有相同的功能吗?
<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);
}发布于 2019-03-07 05:29:49
通常,每个JSP都会被翻译和编译成一个servlet,您可以用servlet做的很多事情都可以用JSP做。
您可以将表单action="Lognn“method="post”更改为表单action="Lognn.jsp“method="post",然后
在Lognn.jsp中,您可以像<%= request.getParameter("name")%>那样从html中读取输入参数,然后
在Lognn.jsp中,可以直接连接到数据库,也可以使用EJB
最后,您可以从同一个JSP返回html输出。
在形式上,它将在没有servlet情况下工作,但在CATALINA_HOME/WORk目录中,将从JSP内部创建并编译一个servlet。
https://stackoverflow.com/questions/55031824
复制相似问题