过滤器(Filter)常应用于自动登录,其基本原理是:用户第一次正确登录时使用Cookie技术保存用户名和密码到本地浏览器;下次再访问该网站时,该URL请求会被过滤器拦截,过滤器会提取Cookie中的用户名和密码进行登录验证,若通过则转到登录后的主页,否则转到登录页面,现在IDEA工具中创建 Web 项目 autologin,登录页面login.jsp的关键代码如下:
<form action="${pageContext.request.contextPath }/login" method="get">
用户名:<input type="text" name="username" /><br/>
密 码:<input type="password" name="password"/><br/>
<input type="checkbox" name="autologin" />启用自动登录<br/>
<input type="submit" value="登录" /><br/>
</form>
输入用户名和密码提交之后由LoginServlet程序进行处理,表单的提交方法是( ① ),则该Servlet通过@WebServlet()注解配置的路径应该为( ② ),在LoginServlet程序中,补充以下获取表单提交数据的关键代码:
String username = request.getParameter(" ③ ");
String password = request.getParameter(" ④ ");
现需把获取的数据以cookie的形式保存至客户端,补充以下关键代码:
Cookie cookie = new Cookie("user", user.getUsername()+"&"+user.getPassword());
⑤ ;//保存cookie对象到客户端
现创建过滤器AutoLoginFilter,以下为web.xml文件中该过滤器的配置代码,将url-pattern配置为"/*"表示( ⑥ )。
<filter>
<filter-name>AutoLoginFilter</filter-name>
<filter-class>com.lifeng.filter.AutoLoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AutoLoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>