利用MyEclipse开发J2EE应用

本文详细介绍Struts框架的基本概念、核心组件及其在Web开发中的应用场景。通过一个具体的案例,演示了如何利用MyEclipse搭建Struts项目,以及如何设计和实现基于Struts的Web应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts 介绍:
在这部分,覆盖下列主题:
l        Struts 预览
l        什么是 struts ,在 web 开发中为什么使用 Struts
l        Struts Web 项目的主要组件和配置
 
什么是 Struts ,在我的 J2EE 应用中为什么使用 Struts
      Struts 是个开源框架,能够促进 MVC 设计模式的使用,用来建构和设计规模比较大的项目。 MVC 3 个部分组成:模型、视图和控制器。每个部分有独特的任务,跟其他部分是独立的,见图 1
      
       模型:模型负责保存数据。它实际是个 ActionForm 类型的 Java 类。业务逻辑实现从数据库中存放和加载数据到模型中。数据从 Html form 中输入,被保存在模型中。在数据被保存之前, Struts 模型作为数据输入或输出的模型处理者,能够验证数据的合法性。
       视图:视图代表应用中使用者的角色,是展现给使用者的页面。视图负责获取用户的输入表单,将请求转发给控制器。视图被控制器调用,最后将结果展示给用户。 HTML JSP ,用户自定义标签,还有一些资源文件都是视图的组成部分。
       控制器:控制器是视图和模型的仲裁者,负责从客户处接受请求。控制器能够区别业务逻辑调用的配置文件,一旦业务逻辑完成执行,控制进行视图的分发。当从客户接受到请求,控制器将依次执行以下的过程:
l        查询它必须调用讷格业务逻辑
l        将客户的请求数据传送给模型
l        验证数据
l        继续执行业务逻辑
l        展现视图
ActionServlet Action ActionForm struts-config.xm 是控制器的组成部分。
 
1 MVC 应用结构
      Struts 框架引起相当的关注,因为它易于使用,能够满足今天应用开发的快速建构。 Struts 结合 Servlet JSP ,自定义标签和资源信息成一个统一的整体,节约了开发者编码实现 MVC 模型的大量时间。 Craig R.McClanahan 2000.5 发布了 Struts 框架,其中包括一组自定义标签库和与之关联的 Java 类,同时还有各种不同的有用类。 Struts 框架最强大的优越性是它对创建和处理基于 Web form 的支持。 Struts 最近的版本可以通过 http://jakarta.apache.org/ 来下载。我们当前使用的 Struts 版本是: jakarta-struts-1.2.8,JBoss JBoss4.1.2
 
Struts 的结构
Struts 的主要组件和特征包括:(图 2
l        视图: JSP HTML 页面
l        模型: java 对象(称作 ActionForm
l        中心控制器—— ActionServlet
n        struts-config.xml 文件的 ActionMapping Action 类)里描述
n        Action 类位于业务层和 web

l        验证,国际化,自定义标签来创建HTML,表示逻辑和模版

2 Struts结构图

有关涉及到 Struts 的具体信息可参考相关的资料和文档。
 
MyEclipse Struts
 
       MyEclipse 提供 Struts 应用开发工具,这使得开发人员很容易构建和管理基于 Struts Web 应用。 MyEclipse 提供如下功能:
l        一个 Web 项目能被配置成 Struts ,通过添加相关的 jar 包,标签库和 ActionServlet ,创建 Struts 框架及涉及到的应用资源文件到该项目中。 MyEclipse 支持 Struts1.0 Struts1.1 1.2 ,当你建构 Struts 项目时可自己选择。
l        通过组件向导来定义 ActionForm 类, Action
l        通过编辑一个配置文件来控制 ActionServlet 信息
l        使用创建向导来创建可视化的 Web 应用
为了提供对上述功能的支持,在你的 Web 项目中必须使用相应的“ Add Capabilities ”向导。选择目标 Web 项目,然后通过 MyEclipse 的菜单上下文(比如,右键点击菜单)或 MyEclipse 的菜单栏来调用向导。
下面通过创建一个新的 J2EE1.4 项目,开始我们 Struts 学习:
1 、选择 File- New- Project- MyEclipse- Enterprise Application Project
2 、选择 next
3 、在 Project Name 文本框中输入工程名: WebStock ,其他的保留默认设置,显示如图 3 示:
3
       4 、选择 Next
5 、在该页中定义 Web 模块,选中 Create Web Project Module 复选框,设置下列选项:
l        工程名 Project Name WebStockWeb
l        路径 Location: 默认设置 , 如果想改变 , 可以取消 Use default location 的复选框选择
l        源文件夹 Source folder:src (包含 java 源文件,比如 java 包及其它们的类和接口)
l        Web 根文件夹 Web root folder:WebRoot
l        上下文环境跟路径 Context root URL /WebStockWeb
6 、选择 Next
7 、选择复选框“ Create EJB Project Module ”,点击下一步
8 、选择 Finish J2EE 工程创建完成
利用向导完成工程的创建,并进行配置 WebStockWeb web 项目。图 4 描述了 MyEclipse 下的新建工程。为了打开 MyEclipse 试图,选择 MyEclipse 菜单栏里的 Window- open perspective- other- 〉选择 MyEclips
4
现在,我们给新创建的 web 工程添加 Struts capabilities 。为了在 WebStockWeb 工程中添加对 struts 框架的支持,在 package Explorer 中选择 web 工程,并在 MyEclipse 菜单中选择添加 Struts Capabilities ,如图 5 所示 :
5
弹出向导,在 base package for the new classes 文本框中输入: com.webstock.struts, 其它保留默认设置,如图 6 所示:
6
单击 Finish ,在 package view explorer 中,将看到如下图 7 的结果:
图7
现在,我们继续我们的 webstock 用例的实现
Struts 开发过程
特别地,你在你的项目中以下列方式建立和使用 struts
1 、创建一个新的基于 struts 的工程。如果你已经存在一个工程,你必须添加 struts 支持
2 、使用向导:
l        绘制 struts application web 图真实地模拟应用流程图
l        Web 图中使用定义的 struts HTML 标签和 bean 标签来开发 JSP
l        产生 ActionForm action 模板来匹配相应的类,添加业务逻辑来修改它们
l        编辑 struts 配置文件来匹配 web 页中的 action
MyEclipse Struts 设计 webstock web 部分应用
介绍:为了讲解 struts 的使用,我们将在 webstock 例子中创建一个登陆对话框,该对话框允许员工既可以作为只读用户,又允许作为可写用户。根据提交的 name password ,用户可以看到不同的管理维护页面。如果用户是只读用户没,那么他将利用浏览按钮来查看访问 webstock 的所有员工;如果是可写用户,他将拥有浏览、编辑、删除权限。 Struts 将首先使用合法性验证来验证输入的合法性,然后根据提交的值, action 动作将发送相应的页面给用户。
在本例中将创建以下的 jsp java 类:
l        login.jsp: 提供登陆到管理界面的用户接口
l        LoginForm.java :该类的实例被用来检验用户在 login.jsp 页面中输入参数的合法性
l        LoginAction.java: 该类的实例被用来鉴别用户
l        admin1.jsp: 显示拥有只读权限的页面
l        admin2.jsp :显示可写权限用户的页面
l        LogoutAction.java: 该类的实例被用来登记用户退出管理界面的信息并重定向用户登录页面

8展示了当一个拥有可写权限的用户尝试登录到管理界面时事件发生的先后顺序

8 

 

设计 WebStock Application
一般情况下,当我们开始一个 Struts 项目时,画出其应用流程图是很有用的,以便开发团队能够形成一个清晰的概念使得各个模块能够集成到一块。创建流程图最容易的方式就是使用 Struts 编辑器的图表设计方式。 Struts 编辑器提供一个拖拉式工具托盘箱,使你能够快速地建构你的项目。本项目的登录流程图如图 9 所示:
9
从这个设计图中我们可以看到,项目运行开始显示的是 Login.jsp 页面,该登录页调用 Login Action 动作执行登录操作,如果有验证所提交的信息是不合法的,那么重新返回登录页面。但是,如果登录成功,根据用户的身份,该应用将显示 admin.jsp admin2.jsp
下面显示了 struts-config.xml 文件的内容:
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
 <data-sources />
 <form-beans />
 <global-exceptions />
 <global-forwards />
 <action-mappings >
    <action
      path="/logout"
      type="com.webstock.struts.action.LogoutAction"
      validate="false">
      <forward
        name="success"
        path="/login.jsp"
        redirct="true" />
    </action>
    <action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      type="com.webstock.struts.action.LoginAction" >
      <forward name="failure" path="/login.jsp" />
     <forward name="success1" path="/admin1.jsp" />
      <forward name="success2" path="/admin2.jsp" />
    </action>
    <action path="/itemList" type="com.webstock.struts.action.LogoutAction"
       validate="false">
      <forward name="success" path="/itemlist.jsp" />
    </action>
 </action-mappings>
 <message-resources parameter="com.webstock.struts.ApplicationResources" />
</struts-config>
现在, webstock 项目的流程图设计好了,下面利用 MyEclipse 环境所带的工具和向导开始建构具体的应用
建构 WebStock 应用
我们开始设计编辑 WebStock 应用的 Web 页面。但是,在开始之前,我们必须编辑 webstock 应用的资源属性文件 ApplicationResource.properties
编辑 ApplicationResource.properties 文件:
ApplicationResoure.properties 属性文件用来指定在整个应用中所遇到的各个属性。我们将要在这个文件中添加一些后面页面中用到的属性。通过这个例子你将看到这些属性如何被使用:
l        定位到 WebStockWeb/src/com.webstock.struts 文件夹,找到 ApplicationResoure.properties 文件
l        双击打开默认的文件编辑器
l        用以下提取出来的文本内容替换源文件内容
error.header = <h3><font color="red">The following errors were detected:</font></h3><ul>
error.prefix= <li>
error.suffix = </li>
error.footer = </ul>
login.title = <span class="site-page-header">WebStock Administration Login</span>
login.username = User Name
login.password = Password
login.submitlabel = Login
logout.label = Logout
logout.submitlabel = Logout
error.username.required = Please specify a user name.
error.password.required = Please specify a password.
error.password.mismatch = Invalid username or passord entered.
admin1.title = <span class="site-page-headers">WebStock Administration Menu – Read Access</span>
admin2.title = <span class="site-page-headers">WebStock Administration Menu – Write Access</span>
创建编辑 web 页面
创建管理 jsp 页面
首先,我们将创建 admin1.jsp 文件
l        Struts 设计面板上选择 Jsp 工具图标
l        在画布上点击鼠标,即可出现如下的对话框,如图 10 所示:
10
单击完成。
打开 admin1.jsp ,在 <body> 标签后添加一个 bean 标签,并设置 key 属性为 admin1.title
<bean:message key="admin1.title"></bean:message>
bean 标签之后插入以下代码:
<body>
<ul>
<li><html:link action="itemList.do">View Items</html:link></li>
<li><html:link action="logout.do"><bean:message key="logout.label"/></html:link></li>
</ul>
</body>
第一个链接调用 itemList 动作来显示一系列的 Stock items ,第二个链接调用 logout 动作, logout 链接的标签从资源文件中读入。
保存刚才的设计然后退出设计页面。
对于 admin2.jsp ,我们只修改如下内容:
<title><bean:message key="admin2.title"></bean:message></title>
保存刚才的设计然后退出设计页面。
创建 ActionForm Action
(位完待续,不断更新......)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值