阅读:2192回复:1
雨夜聆风的jb9体会
一、启动JBuilder
二、创建一个工程 工程名为FilterTest。 三、设置 Web Application Web Application的名称也为FilterTest。 四、创建 JSPs 这里我们将用到三个JSP网页,分别为login.jsp、login_error.jsp和index.jsp。 注:以上部分这里对具体怎么创建不做说明,有不懂的请参考《JBuilder9+Weblogic7实战篇之JSP+SERVLET篇 》 1.在login.jsp中将: <title>index</title> 替换为: <title>Filter的运用</title> 将: <h1>JBuilder Generated JSP</h1> 替换为: <center> <p/> <h1>欢迎使用Filter过滤器!</h1> <form action="index.jsp" method="post"> <font size="4"> <b>用户名:</b> <input type="text" name="username" value=""> <br><br> <b>密 码:</b> <input type="text" name="password" value=""> <br><br> <input type="submit" name="login" value="登录">   <input type="reset" value="重写"> </font> </form> </center> 2.在login_error中将: <title>index</title> 替换为: <title>Filter的运用</title> 将: <h1>JBuilder Generated JSP</h1> 替换为: <center> <h1>Filter错误提示:</h1> </center> <% String err = request.getParameter("errmsg"); String errmsg = new String(err.getBytes("ISO-8859-1"),"GBK"); %> <p>对不起,您的操作有误。请参考下列提示:</p> 您输入的 <%=errmsg%>错误! 3.在index.jsp中将: <title>index</title> 替换为: <title>Filter的运用</title> 将: <h1>JBuilder Generated JSP</h1> 替换为: <center> <p/> <h1>祝贺你顺利通过Filter过滤!</h1> </center> 五、创建 Filter servlet 1.在菜单栏选择File/New... ,弹出Object Gallery窗口; 2.点击Web子页; 3.选择Servlet然后点击OK,出现Servlet窗口; 4.在Class后输入FilterTest,选中Filter servlet,这个向导将创建一个在filter包中名为FilterTest的class。点击Finish完成创建。 请打开工程窗口Filter/Deployment desciptors/web,xml文件,在文档窗口中你可以更改<filter-mapping/> 中的<url-pattern/>内的值来指定这个filter是对具体哪张网页做过滤,默认是/*,即对所有网页都进行过滤 。切记,<filter>必须在整个web.xml中位置最前,否则不符合DTD语法要求。 5.在文档窗口中: 在 public class FilterTest extends HttpServlet implements Filter { 后添加 //初始化用户名和密码 public static final String UserName = "111"; public static final String PassWord = "111"; 在doFilter方法中 filterChain.doFilter(request, response); 后添加 String username = ((HttpServletRequest)request).getParameter("username"); String password = ((HttpServletRequest)request).getParameter("password"); System.out.println("用户 \"" + username + "\" 正在试图登录,他的密码是 \"" + password + "\" 。"); if (username == null && password == null){ System.out.println("页面值传递错误,或者非法进入。"); }else{ if (!UserName.equals(username)) { ( (HttpServletResponse) response).sendRedirect("login_error.jsp?errmsg=username"); return; } else { if (!PassWord.equals(password)) { ( (HttpServletResponse) response).sendRedirect("login_error.jsp?errmsg=password"); return; } } } 好了,至此你已经完成你在Jbuilder9中的第一个Filter过滤器了,请运行看结果吧。:) |
|
1楼#
发布于:2003-09-03 16:47
好文好文!
|
|
|