javaBean与Servlet学习


1.JavaBean

 

    JavaBean将java代码单独封装成了一个处理某种业务逻辑的类,可以降低HTML与Java代码的耦合度,并且简化JSP页面,提高Java程序代码的重用性及灵活性。

    JavaBean必须具有公共的无参构造方法,从而可以通过new关键字直接对其实例化。JavaBean中的属性应该设置成private类型,并且为其提供getter/setter方法。在Eclipse中,可以在代码区右击Source->generate getters and setter 进行自动生成。

以下是在JSP页面中使用JavaBean所使用的标签

 

2.Servlet

   当客户端发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让其建立服务器返回给客户端的响应。当启动Web服务器或客户端第一次请求服务时,可以自动装入Servlet,之后Servlet继续运行直到其他客户端发出请求。

   Servlet Api的常用接口主要有:

  •    Servlet接口
  • HttpServlet类
  • HttpServletRequest接口
  • HttpServletResponse接口

    在写Servlet类时,一般完善doPost() 和doGet()方法

    需要在web.xml文件中对Servlet进行配置

Servlet的应用

 

  1. 处理表单数据
  2. 页面转发:requestDispatcher.forward(HttpServlet request, HttpServletResponse response)以及requestDispatcher.include(HttpServlet request, HttpServletResponse response)方法
  3. 获得当前页面的绝对路径:ServletContext类的getRealPath()方法

3.Servlet过滤器

    Servlet过滤器是客户端与目标资源间的中间层组件,用于拦截客户端的请求与相应信息。当Web容器接收到一个客户端请求时,将判断此请求是否与过滤器对象相关联,如果相关联,则将这一请求交给过滤器进行处理。在处理过程中,过滤器可以对请求进行操作,如更改请求中的信息

数据。在过滤器处理完成之后,再将这一请求交给其他业务进行处理。当所有业务处理完成,需要对客户端进行响应时,容器又将响应交给过滤器进行处理,过滤器完成处理后将响应发送到客户端。

 

  Filter接口实现了三个方法,反映了Filter的生命周期。其中init()与destroy()方法只会被调用一次,分别在Web程序加载或者卸载的时候调用。而都doFilter()方法每次有客户端请求都会被调用一次,Filter的所有工作也集中在doFilter()方法上。 当一个Filter执行完之后,chain.doFilter(request,response)将request递交给FilterChain中的下一个Filter,如果所有的Filter都走完了则交给Servlet处理。

下面为判读密码和确认输入的密码是否相同:

 

 

复制代码
 1 package com.study;  2  3 import java.io.IOException;  4  5 import javax.servlet.Filter;  6 import javax.servlet.FilterChain;  7 import javax.servlet.FilterConfig;  8 import javax.servlet.ServletException;  9 import javax.servlet.ServletRequest; 10 import javax.servlet.ServletResponse; 11 import javax.servlet.annotation.WebFilter; 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet.http.HttpServletResponse; 14 15 /** 16  * Servlet Filter implementation class userFormFilter 17 */ 18 @WebFilter("/userFormFilter") 19 public class userFormFilter implements Filter { 20 21 /** 22  * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) 23 */ 24 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 25 // TODO Auto-generated method stub 26 // place your code here 27 HttpServletRequest req=(HttpServletRequest)request; 28 if(req.getParameter("password").equals(req.getParameter("password1"))){ 29 }else 30  { 31 System.out.println("no"); 32 ((HttpServletResponse) response).sendRedirect("index.jsp"); 33  } 34 // pass the request along the filter chain 35  chain.doFilter(request, response); 36  } 37 38  @Override 39 public void destroy() { 40 // TODO Auto-generated method stub 41 42  } 43 44  @Override 45 public void init(FilterConfig arg0) throws ServletException { 46 // TODO Auto-generated method stub 47  } 48 49 }
复制代码

如果相同,则继续,不同则跳转到index.jsp页面

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM