分享

Java框架笔记(一) — 初识Struts2

 openwudi 2010-10-08

MVC设计模式

MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBeanEJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是ModelView之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

用我自己的简单理解就是说,M用于处理逻辑,V为和用户交互的界面,C为控制器。使用MVC的目的就是把MV的代码分离。从而同一个程序可以使用不同的表现形式。比如一个数据库的表。在跟用户交互的时候可以是柱状图,也可以是饼状图。而C的作用就是实现MV的同步,一旦M改变,V也要跟着改变。

MVC的优点

低耦合性:很容易改变数据层和业务规则。

高重用性和可适用性:允许你使用各种不同样式的视图来访问同一个服务器端的代码。举个例子,比如我们对QQ农场的操作可以使用FLASH端程序,也可以使用手机来操作。

较低的生命周期成本:MVC使降低开发和维护用户接口的技术含量成为可能。

快速的部署:开发时间得到相当大的缩减,它使程序员(Java)集中精力于业务逻辑,界面程序员(HTML/JSP)集中精力于表现形式上。

可维护性:分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

有利于软件工程化管理:由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。

Framework

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 

基于请求响应模式的应用框架,基本上有如下几个表现逻辑结构组成。

— 控制器:控制整个框架中各个组件的协调工作。

— 业务逻辑层:对于框架本身来说仅仅只是概念和几个提供服务的基础组件,真正的业务逻辑还是需要开发人员扩展。

— 数据逻辑层:绝大多数应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。

Struts的概念和体系结构

Struts有一组相互协作的类、Servlet以及JSP TagLib组成。基于Struts构架的web应用程序符合Model2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对Struts是一个web framework,而不仅仅是一些标记库的组合。但Struts也包含了丰富的标记库和实用程序类。


图片

Action

Action中最重要的就是execute方法,它负责执行相应的业务逻辑,如果需要,它也进行相应的数据检查。执行完成之后,返回一个字符串对象,控制器通过该字符串对象来进行转发工作。

第一个Struts

1、新建一个helloworld.jsp,在body内写上<h1>helloworld</h1>

2、首先在新建一个普通的Java类(HelloWorld.java),这个类中包括execute方法,代码如下。

package com.test.action;
 
 public class HelloWorld
 {
     public String execute()throws Exception
     {
         return "success";
     }
 }

3、在src目录下新建一个struts.xml配置文件,文件内容包括一个DTD约束,文件的目录结构为<struts><package><action>元素代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE struts PUBLIC
     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     "http://struts./dtds/struts-2.0.dtd">
 
 <struts>
     <package name="struts2" extends="struts-default">
         <action name="helloworld" class="com.test.action.HelloWorld">
             <result name="success">/helloworld.jsp</result>
         </action> 
     </package>
 </struts>

4、配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
 <web-app version="2.5" xmlns="http://java./xml/ns/javaee"
     xmlns:xsi="http://www./2001/XMLSchema-instance"
     xsi:schemaLocation="http://java./xml/ns/javaee
     http://java./xml/ns/javaee/web-app_2_5.xsd">
 
     <filter>
         <filter-name>struts2</filter-name>
         <filter-class>
         org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
         </filter-class>
     </filter>
 
     <filter-mapping>
         <filter-name>struts2</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
 
 </web-app>

5、别忘了加strutslib文件
图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多