创建一个java类实现javax.servlet.Filter接口
借口有三种方法:
init(FilterConfig filterConfig)
doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
destroy()
配置过滤器文件
//自定义编码
public class check implements Filter {
public void destroy() {
// TODO Auto-generated method stub
System.out.println("销毁过滤器");
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("encodingFilter----");
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
System.out.println("初始化过滤器");
}
}
配置xml文件
<filter>
<filter-name>check</filter-name>
<filter-class>Test01.check</filter-class>
</filter>
<filter-mapping>
<filter-name>check</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session=null;
session=request.getSession();
String uname=request.getParameter("name");
String upasswd=request.getParameter("passwd");
if(uname.equals("何彦柱")&&upasswd.equals("123"))
{
System.out.println(uname+"---"+upasswd);
session.setAttribute("ulogin", uname);
}
request.getRequestDispatcher("welcome.jsp").forward(request, response);
}
登陆页面代码:
<body>
登陆界面
<form action="TestServlet03"method="post" >
用户名:<input type="text" name="name"><br>
<span></span>密码:<input type="password" name="passwd"><br>
<input type="reset" value="重置">
<input type="submit" value="登陆">
</form>
</body>
结果显示页面代码:
<body>
<%
String ulogin=(String )session.getAttribute("ulogin");
if(ulogin==null)
{
request.getRequestDispatcher("login.jsp").forward(request, response);
}
%>
<%=(String)request.getAttribute("uname") %>,欢迎
</body>
控制台效果图:
jsp页面效果图