snowlovery
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
阅读:2054回复:1

雨夜聆风的jb9体会

楼主#
更多 发布于:2003-09-03 15:06
一、启动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>&nbsp<input type="text" name="username" value="">
      <br><br>
      <b>密   码:</b>&nbsp<input type="text" name="password" value="">
      <br><br>
      <input type="submit" name="login" value="登录">&nbsp&nbsp
      <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过滤器了,请运行看结果吧。:)


喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2003-09-03 16:47
好文好文!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部