登录页面 login.jsp
校验用户 LoginServlet.java
登录成功 succ1.jsp
只是小实验,所以没有连接数据库。
首先,登录页面是一个简单的提交表单。
<h1>大写的登陆</h1><br/>
<font color="red"><b><%=message %></b></font>
<form action="/day_11-3/LoginServlet" method="post">
用户: <input type="text" name="username" value="<%=uname %>"/><br/>
<!-- uname 是上次登录成功的用户名 -->
密码: <input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>
这是用户输入错误时,返回的错误信息:
<%
String message = "";
String msg = (String)request.getAttribute("msg");//获取错误信息
if(msg != null){
message = msg;
}
%>
然后,用户如果登录成功一次,在下次访问该登录页面会有用户名缓存,通过cookie来实现:
<%-- 读取cookies --%>
<%
String uname = ""; //先将字符串设置为空
Cookie[] cs = request.getCookies();//获取请求中所有的cookies
if(cs != null){
for(Cookie c : cs){ //遍历cookies
if("uname".equals(c.getName())){ //查找名为name的cookie
uname = c.getValue(); //获取他的值
}
}
}
%>
下来我们看一下LoginServlet,
这里要注意字符编码问题,所以我们直接设置为utf-8
request.setCharacterEncoding("utf-8");
接下来,获取表单参数:
//获取参数
String username = (String)request.getParameter("username");
String password = (String)request.getParameter("password");
验证用户:假设只有当用户名