1MVC模式介绍
模型-视图-控制器,简称为MVC。MVC是一种先进的设计模式。MVC是一种通过三个不同的部分构造一个软件或组件的理想办法:
模型:用户存储数据的对象。
视图:向控制器提交所需要的数据,显示模型中的数据。
控制器:负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出处理,将有关结果存储到模型中,并负责让模型和视图进行必要的交互。
JSP中的MVC模式
在JSP技术中,视图、模型和控制器的具体实现如下:
模型,一个或多个Javabean对象,用户存储数据,Javabean主要提供简单的setXXX方法和getXXX方法,这些方法中不涉及对数据的具体处理细节。
视图,一个或多个JSP页面,其作用是向控制器提交必要的数据和为模型提供数据显示,JSP页面主要使用html标记和Javabean标记来显示数据。
控制器,一个或多个servlet对象,根据视图提交的要求进行数据处理操作。并将有关结果存储到Javabean中,然后Servlet使用重定向方式请求视图中的某个JSP页面更新显示,让JSP页面通过使用Javabean标记显示控制器存储在Javabean中的数据。
2模型的生命周期与视图更新
MVC模式与前面学习的JSP+Javabean模式有很大的不同,在JSP+Javabean模式中,由JSP页面通过使用Javabean标记创建Javabean。
<jsp:useBean id="给bean起的名字" class="创建bean的类" scope="bean有效范围"/>
在MVC模式中,由控制器servlet负责创建Javabean,
并将有关数据存储到所有创建的Javabean中,然后servlet请求某个JSP页面使用Javabean的getProperty动作标记:
<jsp:getProperty name="bean的名字" property="bean的属性"/>
显示这个javabean的中的数据。
在MVC模式中,servlet创建Javabean也涉及到生命周期,生命周期分为request、session和application。假设创建Javabean的类是CreateJavabeanClass,该类的包名为moon.yourbean
3request周期的Javabean
servlet创建周期为request的Javabean的步骤如下:
createJavabeanClass代表使用到的那个javabean的类。
用CreateJavabeanClass类的某个构造方法创建Javabean对象如:
CreateJavabeanClass bean=new CreateJavabeanClass();
使用所创建的对象bean来改变Javabean中的数据。
将所创建的Javabean对象存放在HttpServletRequest对象request中,并指定查找该Javabean的关键字,该步骤决定了Javabean的生命周期为request。也就是说当servlet使用RequestDispatcher对象向某个JSP页面发出请求时,该Javabean只对servlet所请求的JSP页面有效。Servlet所请求的页面使用相应的标记显示Javabean中的数据,然后该Javabean所占有的内存被释放结束自己的生命。
request.setAttribute("keyWord1",bean);
servlet请求的JSP页面,比如show.jsp页面,必须使用如下标记获得servlet所创建的Javabean的引用。
<jsp:useBean id="keyWord1" type="moon.yourbean.CreateJavaClass" scope="request"/>
此标记中的id就是servlet所创建的Javabean。
servlet请求一个JSP页面show.jsp的代码如下:
RequestDispatcher dispatcher=request.getRequestDispatcher("show.jsp");
dispatcher.forward(request,response);
4session周期的Javabean
servlet创建生命周期为session的Javabean的步骤如下:
createJavabeanClass代表使用到的那个javabean的类。
用CreateJavabeanClass的某个构造方法创建Javabean对象,如:
CreateJavabeanClass bean=new CreateJavabeanClass();
将所创建的Javabean对象bean方法存放在HttpServletSession对象session中,并指定查找该Javabean的关键字,该步骤决定Javabean的生命周期为session。如:
HttpSession session=request.getSession(true);
session.setAttribute("keyWord",bean);
当servlet创建生命周期为session的Javabean后,只要用户的会话没有消失,该Javabean就一直存在。用户在访问Web服务目录的各个JSP中都可以使用
<jsp:useBean id="keyWord" type="moon.yourbean.CreateJavabeanClass" scope="session"/>
标记获得servlet所创建的Javabean的引用,然后使用
<jsp:getProperty name="keyword" property="Javabean的变量"/>
标记显示该Javabean中的数据。
对于生命周期为session的Javabean,如果servlet希望某个Jsp显示其中的数据,可以使用requestDispatcher对象想该页面发出请求,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)。
5application周期的Javabean
servlet创建生命周期为application的Javabean的步骤如下:
用CreateJavabeanClass类的某个构造方法创建Javabean对象如:
CreateJavabeanClass bean=new CreateJavabeanClass();
servlet可以使用getServletContext()方法返回服务器创建的ServletContext对象的引用,将所创建的Javabean对象存放到服务器创建的ServletContext对象中,并指定查找Javabean的关键字。如:
getServletContext().setAttribute("keyWord",bean);
当servlet创建生命周期为application的Javabean后,只要web应用程序不结束,该Javabean就一直存在。一个用户在Web服务目录的各个JSP中都可以使用
<jsp:useBean id="keyWord" type="moon.yourbean.CreateJavaClass" scope="application"/>
标记来获得servlet所创建的Javabean的引用,然后使用
<jsp:getProperty name="keyWrod" property="Javabean的变量"/>
标记显示该Javabean中的数据。
对于生命周期为application的Javabean,如果servlet希望某个Jsp显示其中的数据,可以使用requestDispatcher对象想该页面发出请求,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)。
注意编译:
javabean类的包名为Beans。Servlet类的包名为yourservlet。
我们将servlet类放到d:中。将javabean类放到d:\Beans中,因为Servlet类中有一句:import Beans.*;
编译好以后将servlet类的字节码文件放到WEB-INF\classes\yourservlet文件夹下。将Javabean类的字节码文件放到WEB-INF\classes\Beans文件夹下。
模型-视图-控制器,简称为MVC。MVC是一种先进的设计模式。MVC是一种通过三个不同的部分构造一个软件或组件的理想办法:
模型:用户存储数据的对象。
视图:向控制器提交所需要的数据,显示模型中的数据。
控制器:负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出处理,将有关结果存储到模型中,并负责让模型和视图进行必要的交互。
JSP中的MVC模式
在JSP技术中,视图、模型和控制器的具体实现如下:
模型,一个或多个Javabean对象,用户存储数据,Javabean主要提供简单的setXXX方法和getXXX方法,这些方法中不涉及对数据的具体处理细节。
视图,一个或多个JSP页面,其作用是向控制器提交必要的数据和为模型提供数据显示,JSP页面主要使用html标记和Javabean标记来显示数据。
控制器,一个或多个servlet对象,根据视图提交的要求进行数据处理操作。并将有关结果存储到Javabean中,然后Servlet使用重定向方式请求视图中的某个JSP页面更新显示,让JSP页面通过使用Javabean标记显示控制器存储在Javabean中的数据。
2模型的生命周期与视图更新
MVC模式与前面学习的JSP+Javabean模式有很大的不同,在JSP+Javabean模式中,由JSP页面通过使用Javabean标记创建Javabean。
<jsp:useBean id="给bean起的名字" class="创建bean的类" scope="bean有效范围"/>
在MVC模式中,由控制器servlet负责创建Javabean,
并将有关数据存储到所有创建的Javabean中,然后servlet请求某个JSP页面使用Javabean的getProperty动作标记:
<jsp:getProperty name="bean的名字" property="bean的属性"/>
显示这个javabean的中的数据。
在MVC模式中,servlet创建Javabean也涉及到生命周期,生命周期分为request、session和application。假设创建Javabean的类是CreateJavabeanClass,该类的包名为moon.yourbean
3request周期的Javabean
servlet创建周期为request的Javabean的步骤如下:
createJavabeanClass代表使用到的那个javabean的类。
用CreateJavabeanClass类的某个构造方法创建Javabean对象如:
CreateJavabeanClass bean=new CreateJavabeanClass();
使用所创建的对象bean来改变Javabean中的数据。
将所创建的Javabean对象存放在HttpServletRequest对象request中,并指定查找该Javabean的关键字,该步骤决定了Javabean的生命周期为request。也就是说当servlet使用RequestDispatcher对象向某个JSP页面发出请求时,该Javabean只对servlet所请求的JSP页面有效。Servlet所请求的页面使用相应的标记显示Javabean中的数据,然后该Javabean所占有的内存被释放结束自己的生命。
request.setAttribute("keyWord1",bean);
servlet请求的JSP页面,比如show.jsp页面,必须使用如下标记获得servlet所创建的Javabean的引用。
<jsp:useBean id="keyWord1" type="moon.yourbean.CreateJavaClass" scope="request"/>
此标记中的id就是servlet所创建的Javabean。
servlet请求一个JSP页面show.jsp的代码如下:
RequestDispatcher dispatcher=request.getRequestDispatcher("show.jsp");
dispatcher.forward(request,response);
4session周期的Javabean
servlet创建生命周期为session的Javabean的步骤如下:
createJavabeanClass代表使用到的那个javabean的类。
用CreateJavabeanClass的某个构造方法创建Javabean对象,如:
CreateJavabeanClass bean=new CreateJavabeanClass();
将所创建的Javabean对象bean方法存放在HttpServletSession对象session中,并指定查找该Javabean的关键字,该步骤决定Javabean的生命周期为session。如:
HttpSession session=request.getSession(true);
session.setAttribute("keyWord",bean);
当servlet创建生命周期为session的Javabean后,只要用户的会话没有消失,该Javabean就一直存在。用户在访问Web服务目录的各个JSP中都可以使用
<jsp:useBean id="keyWord" type="moon.yourbean.CreateJavabeanClass" scope="session"/>
标记获得servlet所创建的Javabean的引用,然后使用
<jsp:getProperty name="keyword" property="Javabean的变量"/>
标记显示该Javabean中的数据。
对于生命周期为session的Javabean,如果servlet希望某个Jsp显示其中的数据,可以使用requestDispatcher对象想该页面发出请求,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)。
5application周期的Javabean
servlet创建生命周期为application的Javabean的步骤如下:
用CreateJavabeanClass类的某个构造方法创建Javabean对象如:
CreateJavabeanClass bean=new CreateJavabeanClass();
servlet可以使用getServletContext()方法返回服务器创建的ServletContext对象的引用,将所创建的Javabean对象存放到服务器创建的ServletContext对象中,并指定查找Javabean的关键字。如:
getServletContext().setAttribute("keyWord",bean);
当servlet创建生命周期为application的Javabean后,只要web应用程序不结束,该Javabean就一直存在。一个用户在Web服务目录的各个JSP中都可以使用
<jsp:useBean id="keyWord" type="moon.yourbean.CreateJavaClass" scope="application"/>
标记来获得servlet所创建的Javabean的引用,然后使用
<jsp:getProperty name="keyWrod" property="Javabean的变量"/>
标记显示该Javabean中的数据。
对于生命周期为application的Javabean,如果servlet希望某个Jsp显示其中的数据,可以使用requestDispatcher对象想该页面发出请求,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)。
注意编译:
javabean类的包名为Beans。Servlet类的包名为yourservlet。
我们将servlet类放到d:中。将javabean类放到d:\Beans中,因为Servlet类中有一句:import Beans.*;
编译好以后将servlet类的字节码文件放到WEB-INF\classes\yourservlet文件夹下。将Javabean类的字节码文件放到WEB-INF\classes\Beans文件夹下。
本文详细介绍了MVC模式的原理,以及在JSP中如何实现模型、视图和控制器。模型通常由Javabean对象构成,视图由JSP页面呈现,而控制器由servlet负责业务逻辑。文章探讨了Javabean在request、session和application三种生命周期中的使用,阐述了如何在servlet中创建并管理这些Javabean,并展示了在JSP中如何访问和显示它们的数据。

1229

被折叠的 条评论
为什么被折叠?



