JSP登陆页 login.jsp

一:JSP登陆页 login.jsp:

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<html>
 <head>
  <meta http-equiv="Context-Type" content="text/html; charset=UTF-8" />
  <title>登录页 - Java教程:http://www.javaweb.cc</title>
 </head>
 <body>
  <form action="login.jsp" method="post">
   用户名:<input type="text" name="uname" /><br />
   密&nbsp;&nbsp;码:<input type="password" name="upass" /></br />
   <input type="submit" value=" 登 录 "  />
   <input type="reset" value=" 重 置 " />
  </form>
  <%
   // 用户名:admin 密码:123
   String name = request.getParameter("uname"); // 取得 name 的信息
   String password = request.getParameter("upass"); // 取得 password 的信息
   if(!(name == null || "".equals(name) || password == null || "".equals(password)))  // 进行用户名和密码的验证
   {
    response.setHeader("refresh", "2; URL = welcome.jsp");  // 定时跳转
    session.setAttribute("userid", name);  // 登录成功的用户名保存在 session 中
  %>
    <h3>用户登陆成功,两秒钟后跳转到欢迎页面!</h3>
    <h3>如果没有自动跳转,请按<a href="welcome.jsp">这里</a></h3>
  <%
   }
   else
   {
  %>
    <h3>错误的用户名或密码!</h3>
  <%
   }
  %>
 </body>
</html>

二、JSP登录成功页(欢迎页)welcome.jsp:

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>登陆欢迎页 - Java中文网:http://www.javaweb.cc</title>
 </head>
 <body>
  <%
   if(session.getAttribute("userid") != null) // 已经设置过的属性,所有不为空
   {
  %>
    <h3>欢迎 <%= session.getAttribute("userid") %> 光临本站,您的 SessionID 为:<%= session.getId() %> <a href="logout.jsp">注销</a>!</h3>
  <%
   }
   else  // 非法用户,没有登陆通过,则 session 范围内没有属性存在
   {
  %>
    <h3>请您先<a href="login.jsp">登录</a>!</h3>
  <%
   }
  %>
 </body>
</html>

3、JSP注销页 logout.jsp:

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<html>
 <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>注销页面 - JAVAWEB.CC</title>
 </head>
 <body> 
  注销前 SessionID 为:<%= session.getId() %> <br /> 属性为:<%= session.getAttribute("userid") %> <br />
  <%
   response.setHeader("refresh", "2; URL = login.jsp");  // 定时跳转
   session.invalidate(); // 注销 session 
  %>
  注销后 SessionID 为:<%= session.getId() %> 属性为: <br />
  <h3>您已成功推出本系统,两秒钟后跳转到登陆页</h3>
  <h3>如果没有自动跳转,请点击<a href="login.jsp">这里</a></h3>
 </body>
</html>


### 回答1: 好的,以下是一个简单的login.jsp面的示例: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录面</title> </head> <body> <h1>欢迎登录</h1> <form action="loginServlet" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="登录"> </form> </body> </html> ``` 这个面包含一个简单的表单,用户可以输入用户名和密码,然后点击“登录”按钮提交表单。表单的action属性指向一个名为“loginServlet”的servlet,这个servlet将处理用户提交的表单数据并进行登录验证。 ### 回答2: login.jsp面是一个常见的用户登录面,通常用于对用户进行身份验证、登录验证等操作。编写一个jsplogin.jsp主要包括以下几个方面: 1. 面布局和样式设计 首先,我们需要设计一个良好的面布局和样式。通常情况下,登录面的布局一般是一个表单,包含用户输入框和密码输入框,以及一个登录按钮。可以在面中加入一些样式,比如输入框的背景色、按钮的颜色、字体样式等,使面更加美观。 2. 表单验证 为了防止用户随意输入错误的用户信息,我们需要进行表单验证。可以通过Javascript等前端技术对用户输入的信息进行验证。例如,当用户输入的用户名为空或格式不正确时,弹出提示框提示用户重新输入。 3. 发送请求和处理响应 当用户点击登录按钮后,需要将用户输入的信息发送到服务器端进行验证。可以通过Ajax技术或表单提交等方式发送请求。服务器端需要对用户信息进行验证,如果验证通过就返回成功的标识,否则返回错误的提示信息。在客户端,我们需要根据服务器返回的响应来进行相应的处理,比如弹出提示框,重定向面等。 4. 身份验证和权限控制 当用户输入的用户名和密码与服务器端存储的信息一致时,说明用户身份验证通过,我们需要进行权限控制来控制用户可以访问的面。可以通过Session等机制来存储用户的登录信息,并在相应的面中进行权限控制。 总之,在编写一个jsplogin.jsp时,我们需要注意面的布局和样式设计、表单验证、发送请求和处理响应、身份验证和权限控制等方面,保证用户可以安全、快速地登录系统。 ### 回答3: 编写一个JSPlogin.jsp,需要考虑以下几个方面: 1. 面布局和样式设计: 在设计面时,应该考虑到面布局的清晰明了和样式的简洁、美观。可以使用HTML和CSS语言编写面,如下所示: ``` <!DOCTYPE html> <html> <head> <title>登录面</title> <style type="text/css"> body { background-color: #eee; font-family: Arial, sans-serif; } form { background-color: #fff; width: 400px; margin: 20px auto; padding: 20px; border-radius: 5px; box-shadow: 0px 0px 5px rgba(0,0,0,0.3); } label, input { display: block; margin-top: 10px; font-size: 16px; line-height: 24px; } input[type="submit"] { margin-top: 20px; padding: 10px 20px; background-color: #4CAF50; color: #fff; border: none; border-radius: 3px; cursor: pointer; } input[type="submit"]:hover { background-color: #3e8e41; } </style> </head> <body> <form action="login.do" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username" placeholder="请输入用户名" required> <label for="password">密码:</label> <input type="password" id="password" name="password" placeholder="请输入密码" required> <input type="submit" value="登录"> </form> </body> </html> ``` 其中,面中包含一个表单,用于用户输入用户名和密码,点击登录按钮提交表单数据到login.do这个请求的后台方法中。 2. 表单验证和输入格式控制: 在输入用户名和密码时,需要判断用户输入的内容是否符合要求,例如:用户名和密码是否为空、密码长度是否符合要求等等。若用户输入的数据不符合要求,应该给予相应的提示,如下所示: ``` <form action="login.do" method="post" onsubmit="return validateForm()"> <label for="username">用户名:</label> <input type="text" id="username" name="username" placeholder="请输入用户名" required> <label for="password">密码:</label> <input type="password" id="password" name="password" placeholder="请输入密码" required> <input type="submit" value="登录"> </form> <script type="text/javascript"> function validateForm() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; if(username == "" || password == "") { alert("用户名和密码不能为空!"); return false; } if(password.length < 6) { alert("密码长度不能少于6位!"); return false; } return true; } </script> ``` 3. 表单数据的处理和跳转: 当用户输入用户名和密码,点击登录按钮后,将提交表单数据到后台处理方法中进行用户身份验证。如果验证成功,跳转到登录成功后的面;如果验证失败,返回到登录面,给予相应的提示,如下所示: ``` <%-- login.jsp --%> <form action="login.do" method="post" onsubmit="return validateForm()"> <label for="username">用户名:</label> <input type="text" id="username" name="username" placeholder="请输入用户名" required> <label for="password">密码:</label> <input type="password" id="password" name="password" placeholder="请输入密码" required> <input type="submit" value="登录"> </form> <script type="text/javascript"> function validateForm() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; if(username == "" || password == "") { alert("用户名和密码不能为空!"); return false; } if(password.length < 6) { alert("密码长度不能少于6位!"); return false; } return true; } </script> <%-- login.do --%> <%@ page import="java.sql.*,java.io.*,java.lang.*"%> <% Connection con = null; Statement st = null; ResultSet rs = null; String username = request.getParameter("username"); String password = request.getParameter("password"); try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); st = con.createStatement(); rs = st.executeQuery("select * from userinfo where username='" + username + "' and password='" + password + "'"); if(rs.next()) { session.setAttribute("username", rs.getString("username")); response.sendRedirect("welcome.jsp"); } else { out.print("<script>alert('用户名或密码错误!');window.location='login.jsp';</script>"); } } catch(Exception e) { e.printStackTrace(); } finally { try { if(rs != null) rs.close(); if(st != null) st.close(); if(con != null) con.close(); } catch(Exception e) { e.printStackTrace(); } } %> <%-- welcome.jsp --%> <% String username = session.getAttribute("username"); if(username == null || username.equals("")) { response.sendRedirect("login.jsp"); } else { out.print("<h1>欢迎您," + username + "</h1>"); } %> ``` 以上是一个基本的登录面的编写流程,需要注意的是,该面仅供学习和参考使用,实际开发中需要根据具体的需求和业务逻辑进行相应的修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值