1. 简单理解MVC框架
我们先来看两个JSP的模型图
Model 1
工作流程如下:
– 客户将请求提交给JSP。
– JSP调用JavaBean组件进行数据处理。
– 如果数据处理需要数据库支持,则使用JDBC操作数据库数据。
– 当数据返回给JSP时,JSP组织响应数据,返回给客户端。
优点
– 编码简单
– 适用于小型项目
缺点
– 显示逻辑与业务逻辑混在一起
– 在JSP页面中嵌入大量的Java代码,验证,流程控制等全部在Jsp中完成。
– 不适用于中大型项目
Model 2
工作流程如下:
– 客户的请求信息首先提交给Servlet。
– 控制器选择对当前请求进行数据处理的Model对象。
– 控制器对象选择相应的view组件作为客户的响应信息返回。
– JSP使用JavaBean中处理的数据进行数据显示。
– JSP把组织好的数据以响应的方式返回给客户端浏览。
优点:
– 将问题分解,分层清晰,职责清晰
– 可扩展性强
– 实现了Java代码和页面的分离,即业务逻辑和显示逻辑分离
缺点:
– 增加了额外的编写代码,配置文件工作量。
2. Struts模型图
Struts工作流程
– 客户提交请求信息。
– 中央控制器类(ActionServlet)通过读取配置文件struts-config.xml),把表单数据填充到Form bean中。
– 中央控制器将Http请求分发到相应的Action处理。
– Action类调用Model组件进行数据处理。
– 中央控制器转发相应的Http请求到相应的View组件。
– View组件将响应信息返回给客户端。
3. Tomcat下Struts的安装配置
– 需提前安装的软件:
• Java 2 SDK SE
• Servlet Container(Web Application Server)
• Servlet API Classes
– 拷贝struts发布的jar包到应用程序的WEB-INF/lib目录下。
• http://struts.apache.org/上下载
– 在DD文件web.xml中配置核心控制器ActionServlet类,添加如下代码:
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
— 创建Struts的配置文件/WEB-INF/struts-config.xml, Struts的各种组件都在该文件中配置