StrutsMVC框架
web应用的分层
交互层,表现数据,收集数据,也就是视图层,接受请求,通过处理层完成相应的响应。(V,C)
处理层,完成数据的处理,也就是业务层(M)。
MVC设计模式(应用观察者模式的框架模式)
M model,模型,操作数据的业务处理层。
V view,示图,采集和显示数据,为业务层提供数据,表现业务层输出的数据,只关心数据的类型,不管新数据的来源。
C ctrl,控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图。
MVC框架的实现模型
模型一:
JSP+JavaBean,JSP既充当控制,又充当视图,以页面为核心,JSP使用jsp:useBean,他不能够实现不同的页面,显示不同的数据,需要借助于中间类来调用JavaBean的方法才能实现。
模型二:
JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。
StrutsMVC框架
Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。
Struts提供了一些组件使用MVC开发应用程序:
Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供
View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。
Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。
写一个基于Struts的web应用
1,创建一个符合标准的web应用的结构,也就是一个有WEB-INF文件夹的应用文件夹,在应用中需要使用到Struts的一些jar文件,要放到WEB-INF的lib文件夹下,这些jar文件都在struts的zip文件中的/struts-1.2.9-bin/lib下还有struts-1.2.9-bin/contrib/struts-el/lib下的standard.jar、jstl.jar和struts-el.jar。
2,在web.xml中配置Struts的核心控制器ActionServlet,并指明Struts的配置文件的所在位置WEB-INF下,在struts的文件中有一个样板的web.xml文件,使用这个web.xml文件来部署应用就可以了 ,这个样板在struts的zip文件中的struts-1.2.9-src.zip文件中的web/examples/WEB-INF/web.xml就是样板文件。部署应用看struts是否发布成功。
<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>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3,写jsp页面和业务,实体,和自定义控制器类Action,自定义Action是要继承于Action类
例:
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class LoginAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception
{
if(request.getParameter("username").equals("admin")&&
request.getParameter("passwd").equals("123")){
return mapping.findForward("success");
}
return mapping.findForward("fail");
}
}
在struts-config.xml文件中的配置,解析配置文件中,配置文件的action标签就会被映射成ActionMapping对象。
<struts-config>
<form-beans>
<form-bean name="xxx" type="ActionForm的类全名">
<form-bean name="LoginForm" type="basic.LoginForm">
</form-beans>
<action-mappings>
<action path="/basic/login" type="alan.struts.basic.LoginAction"
name="xxx" scope="request|sessio(默认值)">
<forward name="success" path="/basic/success.jsp"/>
<forward name="fail" path="/basic/fail.jsp" redirect="false"(重定向,默认false)/>
</action>
<action path="action的路径,在form的action中写的那个路径" type="action的类全名">
<forward name="在自定义的Action中使用的findForward方法的参数" path="跳转页面的路径"/>
<forward name="xxx" path="xxx/xxx.jsp"/>
</action>
</action-mappings>
</struts-config>
ActionForm是可以自动将表单中的数据封装成对象,当然,一个自定义ActionForm也是要遵守Struts规范的,也就是要继承于ActionForm,并在以上的struts-config.xml进行配置。
ServletController(ActionServlet和自定义的Action),配置Ctrler需要配置struts-config.xml,通过客户端form的action来查找调用相应的action,自定义action中的mapping对应的是配置文件中的forward标签,通过forward的path属性来跳转到相应的路径。
基于struts的web应用的开发步骤
1,对应用环境进行配置
2,创建web应用的结构,需要将struts应用的jar文件进行部署。
3,在web服务器部署struts
4,配置struts-config.xml文件,配置Actoin
5,写自定义Action,实体,以及业务类
分享到:
相关推荐
知识点1: Spring Boot 框架 * Spring Boot 是一个基于 Spring 框架的快速应用程序开发框架,能够快速构建独立的、生产级别的基于 Spring 的应用程序。 * Spring Boot 제공了许多默认配置和 starter 依赖项,能够...
1. **Struts框架**: Struts是Apache软件基金会的一个开源项目,主要用于MVC(Model-View-Controller)架构的设计。在博客系统中,Struts负责处理用户请求,将HTTP请求映射到相应的Action类,执行业务逻辑,并通过...
- 国内知名的高端IT技术作家,出版过多本技术书籍,如《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等。 ### 知识点二:书籍...
1. **Java编程语言**:本项目的核心开发语言是Java,它是一种跨平台的面向对象编程语言。Java的特性如封装、继承和多态在系统设计中得以体现,提高了代码的可维护性和复用性。同时,Java的异常处理机制、IO流、集合...
《基于SSH的婴幼儿产品销售系统》是一个典型的Java毕业设计项目,它涵盖了软件工程中的多个重要知识点,包括系统架构设计、数据库管理、Web开发等。在这个项目中,SSH框架被广泛运用,SSH指的是Spring、Struts和...
下面将详细介绍这个系统的相关知识点。 1. **Java编程语言**: Java是这个系统的核心开发语言,它是一种面向对象的、跨平台的编程语言,具有高度的可移植性和安全性。在这个项目中,Java被用于构建后端逻辑,处理...
根据提供的信息,我们可以总结出以下相关的IT知识点: ### 一、尚硅谷的教育资源 #### Java教程 1. **Java基础阶段** - **20天横扫Java基础**:这是一套适合Java初学者的教程,通过20天的学习周期帮助学员快速...
该资源是一个完整的基于Java开发的记账系统项目,包含了源代码、数据库设计、部署文档以及辅导视频,非常适合学习Java Web开发或对财务管理系统感兴趣的开发者。下面将分别介绍这些部分的关键知识点。 1. **Java...
该资源是一个基于JAVA_JSP、Struts2框架和SQL Server数据库的企业合同管理系统,包含了完整的源码、数据库SQL脚本、相关论文以及辅导视频,对于学习和理解企业级应用开发具有很高的参考价值。以下将详细阐述其中涉及...
然而,由于提供的【部分内容】较为模糊,难以直接理解其具体含义,因此,这里将基于标题、描述以及标签中透露的信息进行展开,详细解释Java Web开发中与OOP相关的知识点。 ### Java Web与面向对象编程 #### 1. ...
同时,定期进行测试评估,以便及时发现学生的学习难点,提供个性化的辅导和支持。 总的来说,Java Web开发技术的教学需注重实践与理论相结合,以功能为主线,案例为载体,通过生动的比喻辅助理解,结合多元化的教学...
以下是本文阐述的知识点: 1. 系统概述 系统被设计用于高效处理高校考试座位的安排工作,通过自动化的流程替代了以往耗时耗力的手工排座方式。在传统排座过程中,教务人员需要结合班级、课程和教室使用情况等信息,...
此外,项目辅导视频和论文将深入讲解这些技术的应用和设计思路,帮助学习者理解如何将理论知识应用于实际项目。整体而言,"Java毕业设计系列(七)固定资产管理系统"为学生提供了一个全面了解Java Web开发的实践平台...
第二个项目使用Struts 2.1.6(目前Struts 2的最新版,2009年1月发布)来实现PIM。功能与第一个PIM类似。只是这个系统为Web版。在这个项目中学员可以学习到如果将 WebService应用在Web程序中。该系统的主要思想是如果...
以下将详细阐述该系统涉及的关键技术点和知识体系。 1. **Java开发语言**:作为主要的编程语言,Java以其跨平台性、面向对象的特性以及丰富的类库在企业级应用开发中广泛应用。在这个系统中,Java被用来编写业务...
主要内容包括:tomcat和java web开发的基础知识、java web开发的高级技术、在java web应用中运用第三方提供的实用软件(如struts、velocity和log4j)的方法,以及tomcat的各种高级功能。 书中内容注重理论与实践相...
《基于SSH的婴幼儿产品销售系统设计与实现》项目是一份典型的Java毕业设计作品,它涵盖了Web应用开发的多个核心知识点,主要使用了Struts2(S)、Hibernate(H)和Spring(S)三大框架,形成了经典的SSH技术栈。...