- 浏览: 1507410 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (595)
- Java咖啡厅 (208)
- IT杂侃 (23)
- 程序员笑话 (7)
- 我的后现代文学 (1)
- WEB编程 (116)
- 软件评测 (8)
- 操作系统 (3)
- 炫目Ruby (2)
- 行业知识 (7)
- 我的动漫情结 (6)
- 其他 (8)
- Window DIY (6)
- 古文学 (3)
- 转载文章 (2)
- IT百科 (7)
- 动态网页Active (1)
- 文档 (1)
- 设计理论 (11)
- .NET 快速开发 (18)
- 英语学习 (6)
- 网站分析 (2)
- 开源软件 (4)
- 数据库 (28)
- 笔记 (4)
- 源代码共享 (8)
- IT人物 (2)
- 软件管理 (10)
- 小说创作 (0)
- 大众软件 (12)
- 网站评论 (3)
- 小虾乱说 (10)
- 游戏 (8)
- 心情 (3)
- 娱乐休闲 (2)
- Delphi编程 (1)
- PHP编程 (4)
- 中间件 (2)
- 移动开发 (2)
- Office应用 (2)
- Photoshop (1)
- Eclipse (5)
- 面试题 (1)
- 手机评测 (0)
- VBScript (1)
- WEB前端-EXT (3)
- 吐槽 (1)
- Java咖啡厅 Ibatis (1)
- javascript Ext (1)
- jquery ui (1)
- require (1)
- WEB编程 Javascript (1)
- jquery (1)
- Swing (1)
- 分布式 (1)
最新评论
-
zhangjihao:
28. 下面哪个Set是排序的? A. LinkedHas ...
Java面试题(选择题) -
zhangthe9:
ICMP报文被封装在IP包里,也就是说他是由IP协议承载的,从 ...
Java面试题(选择题) -
zhunengfei:
真的假的?
自已写的jquery ui框架 -
white_crucifix:
少年,发烫是所有智能手机的特点,而莫名发烫是所有安卓手机的特点 ...
【吐槽】三星手机的OS是一砣屎 -
suzu88:
试了一下,可以用。如果美化一下控件和窗体更有意思。
一个用XML构建Swing视图的框架
一个用户注册系统,用户通过网页输入相关信息:注册ID号,密码,EMAIL,若注册成功,则返回成功提示信息,反之出现注册失败提示信息。
项目建立:
正式开发前,需要在Tocmat(我的tomcat装在c:\tomcat)中建立此项目。比较快的一种建立方式为:在C:\tomcat\ webapps下新建目录test,再将C:\tomcat\webapps\struts-example下的WEB-INF目录拷贝到test目录下,然后将test\WEB-INF下的src和classes目录清空,以及struts-config.xml文件中内容清空即可。这样,我们需要的 Struts类包及相关的配置文件就都齐了。
开发时,将JSP文件放在test目录下,Java原文件放在test\WEB-INF\src下,编译后的类文件放在test\WEB-INF\classes下。
注册页面:reguser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ taglib uri="/WEB-INF/Struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/Struts-html.tld" prefix="html"%>
<html:html locale="true">
<head>
<title>RegUser</title>
<html:base/>
</head>
<body bgcolor="white">
<html:errors/>
<html:form action="/regUserAction" focus="logname">
<table border="0" width="100%">
<tr>
<th align="right">
登陆名:</th>
<td align="left">
<html:text property="logname" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">密码:</th>
<td align="left">
<html:password property="password" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
E-mail:
</th>
<td align="left">
<html:password property="email" size="30" maxlength="50"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit property="submit" value="Submit"/>
</td>
<td align="left">
<html:reset/>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
此JSP页面不同于普通的JSP页,因为它大量运用了taglib,这些taglib对初学者而言,可能难于掌握,可这却是Struts的精华之一。灵活运用,将大大提高开发效率。
Struts-config.xml:
<Struts-config>
<form-beans>
<form-bean name="regUserForm"
type="org.cjea.Struts.example. RegUserForm "/>
</form-beans>
<action-mappings>
<action path="/regUserAction"
type=" org.cjea.Struts.example.RegUserAction "
attribute=" regUserForm "
scope="request"
validate="false">
<forward name="failure" path="/ messageFailure.jsp"/>
<forward name="success" path="/ messageSuccess.jsp"/>
Struts的核心是Controller,即ActionServlet,而ActionServlet 的核心就是Struts-config.xml,Struts-config.xml集中了所有页面的导航定义。对于大型的WEB项目,通过此配置文件即可迅速把握其脉络,这不管是对于前期的开发,还是后期的维护或升级都是大有裨益的。掌握Struts-config.xml是掌握Struts的关键所在。
FormBean:RegUserForm
package org.cjea.Struts.example;
import javax.Servlet.http.HttpServletRequest;
import org.apache.Struts.action.ActionForm;
import org.apache.Struts.action.ActionMapping;
public final class RegUserForm extends ActionForm{
private String logname;
private String password;
private String email;
public RegUserForm(){
logname = null;
password = null;
email = null;
}
public String getLogName() {
return this.logname;
}
public void setLogName(String logname) {
this.logname = logname;
}
public void setPassWord(String password) {
this.password = password;
}
public String getPassWord() {
return this.password;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
}
public void reset(ActionMapping mapping, HttpServletRequest request)
{
logname = null;
password = null;
email = null;
}
}
每一个FormBean 都必须继承ActionForm类,FormBean是对页面请求的封装。即把HTTP request 封装在一个对象中,需要说明的一点就是多个HTTP request可以共用一个FormBean,便于维护和重用。
ActionBean:RegUserAction
package org.cjea.Struts.example;
import javax.Servlet.http.*;
import org.apache.Struts.action.*;
public final class RegUserAction extends Action
{
public ActionForward perform(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
String title = req.getParameter("title");
String password = req.getParameter("password");
String email = req.getParameter("email");
/*
取得用户请求,做相应数据库操作,略
*/
}
}
FormBean的产生是为了提供数据给ActionBean,在ActionBean中可以取得FormBean中封装的数据,经相应的逻辑处理后,调用业务方法完成相应业务要求。
Servlet的演变:在常规的 JSP,Servlet,JavaBean三层结构中,JSP实现View的功能,Servlet实现Controller的功能,JavaBean实现Model的实现。
在Struts中,将常规情况下的Servlet拆分与ActionServlet、FormBean、ActionBean三个部分。 ActionServlet配合Struts-config.xml,专职完成页面导航,而不再负责具体的数据获取与相应逻辑,这两部分功能由 FormBean和ActionBean来完成。
3.Struts优缺点
优点:
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
缺点:
Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式,如果你的系统准备采用J2EE MVC架构,那么,不妨考虑一下Struts。
发表评论
-
原创程序- Web版数据库管理
2017-11-15 00:39 1177这是我自已写的Web版的数据库管理工具,主要是依赖于JDBC ... -
Eclipse创建Web项目
2017-07-29 10:53 7751. 打开创建Web项目的对话框 2 ... -
Ant常用的命令
2016-06-16 13:31 13481. 使用Ant生成War包: <war ... -
在Eclipse上使用Ant发布项目
2015-10-17 15:03 1370这里笔者使用是Eclip ... -
Resin中增加一个虚拟目录的方法
2015-09-13 12:53 1113打开resin.config 找到到<h ... -
一个用XML构建Swing视图的框架
2015-09-06 23:12 2600平常想用Java写一些 ... -
Eclipse常见问题
2015-08-24 19:41 738如果Eclipse被强制关闭时,Tomcat可能没有 ... -
Spring Tools Suite 入门教程
2015-05-09 09:15 0Spring Tools Suit,这里简称STS,是 ... -
使用FTP的方法
2015-03-01 17:49 9991. FlashFXP 收费的软件,但是比较好 ... -
关于Spring
2015-02-16 14:46 1998Spring是一个轻量级J2EE框架。 Sp ... -
用Java实现发送邮件到163
2014-12-28 14:50 3851/* 在java版经常看到有人问如何用javamai ... -
Hibernate入门
2014-12-27 01:34 925前言 使用面向对象的语言和关系型的数据库,开 ... -
修改date.toLocaleString()的警告
2014-10-15 11:31 2546我们在写程序的时候,经常要查看时间,所以我们经常会用到 ... -
Java基础题 -- 简述题
2014-04-26 13:44 726(1)简述Java的运行机制 答案:Java语言根 ... -
Java基础题 -- 填空题
2014-04-26 10:00 18861. ______是一个抽象的计算机,和实际的计算机一样, ... -
FreeMaker入门
2014-04-07 19:51 1010第一章 简介 1 什么是FreeMaker ... -
jdk8 新语法
2014-04-01 23:32 1279import java.util.*; public ... -
MyBatis 入门
2014-03-27 23:31 1721每个MyBatis的中心是SqlSessionFact ... -
Jetty入门
2014-02-26 23:48 1577Jetty是一个简易的WebServer框架,使用 ... -
用Swing做的H2管理器
2014-02-24 23:07 1566MainFrame 继承了 JFrame , 增加c ...
相关推荐
### 使用Struts构建登录页面详解 #### 知识点一:环境配置与工具选用 - **J2EE基础知识**:确保对JSP、Servlet、JavaBean等技术有一定的了解,这有助于更好地理解Struts框架的工作原理及其如何应用于项目中。 - **...
struts2-core-2.2.3.1-sources.jar struts2-core-2.2.3.1-sources.jar struts2-core-2.2.3.1-sources.jar
Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会开发。在本实例中,我们将探讨如何使用Struts创建一个登录页面。Struts提供了一种结构化的方式来组织和管理Web...
8. **结果类型(Result Types)**:Struts 2预定义了多种结果类型,如dispatcher(用于转发到JSP页面)、stream(用于处理文件下载)和redirect(用于重定向)。开发者可以根据需要选择合适的结果类型,或者自定义...
1、升级所需要的jar(见附件): freemarker-2.3.22.jar ognl-3.0.19.jar struts2-convention-plugin-2.3.32.jar struts2-core-2.3.32.jar struts2-spring-plugin-2.3.32.jar ...<struts>“加在这里”</struts>
在提供的压缩包中,`struts-2.5.16-all.zip`包含了Struts 2.5.16的完整发布版,包括运行库和相关文档,你可以用它来搭建一个基础的Struts 2应用环境。而`struts-2.5.16-src.zip`则是源码包,对于开发者来说,深入...
《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...
在“ssm框架学习之(一) --struts2 注解”中,我们将深入探讨Struts2中的注解使用,以及它们如何简化和优化开发流程。 Struts2框架的注解主要用在以下几个方面: 1. **Action类注解**: - `@Action`: 这个注解...
JSTL的各种标签文件和struts的标签文件,带strtus.jar包c-1_0.tld,c-1_0-rt.tld,c.tld,fmt-1_0.tld,fmt-1_0-rt.tld,fmt.tld,fn.tld,permittedTaglibs.tldscriptfree.tld,sql-1_0.tld,sql-1_0-rt.tld,sql....
通过阅读《Struts2_入门参考手册.pdf》,你将深入理解这些概念,并学习如何配置Struts2应用,创建Action,使用拦截器,处理表单提交,以及如何利用Struts2的各种特性优化你的Web应用。作为开发者,掌握基础并不断...
本资源“自学传智博客struts2-黎活明-源码-第02讲_02第一个struts2应用开发_DemoStruts2.rar”提供了黎活明老师在传智博客上讲解的第一个Struts2应用的开发示例,帮助初学者理解并实践Struts2的核心概念和使用方法。...
自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253
在"strtus2开发入门"这个主题中,我们将学习如何开始使用Struts2框架。首先,我们需要理解MVC模式。模型(Model)负责处理业务逻辑,视图(View)负责显示数据,而控制器(Controller)则负责接收用户请求并协调模型...
通过这个入门级教程,你可以学习到如何设置Struts2环境,创建第一个“Hello World”应用,理解Action和配置文件的编写,以及如何利用拦截器和结果类型控制流程。同时,你还将接触到OGNL的使用,以及如何处理国际化和...
这个插件是在strtus2和spring集成必备的一个插件
3. **更新依赖**:检查你的`pom.xml`(如果你的项目使用Maven)或构建文件,确保所有引用的Struts2相关依赖都被更新到2.3.35。这可能包括`struts2-core`, `struts2-convention-plugin`, `struts2-json-plugin`等。 ...
3. Struts 2的兼容性库,如Struts 1的适配器(struts2-struts1-plugin.jar) 4. 拦截器和其他相关库(如struts2-convention-plugin.jar、struts2-json-plugin.jar等) 5. 可能还包括第三方依赖库,如ognl、xwork等。...
Struts可以通过实现JSON插件或者使用第三方库如Jackson来支持JSON序列化和反序列化。前端的Ajax请求接收到服务器返回的JSON数据后,更新Store,从而刷新Grid显示最新的图书信息。 总的来说,ExtJS+Struts的整合实例...
Struts2实战 知识点: 1. Struts2框架的介绍:Struts2是Struts的下一代...以上就是Struts2框架的主要知识点,通过这些知识点的介绍,我们可以了解到Struts2框架的强大功能和灵活应用,它在Java Web开发中的重要地位。
使用这些jar包,开发者可以快速搭建一个基础的Struts2项目,实现MVC设计模式,包括定义Action、处理用户请求、进行业务逻辑处理、返回结果到视图等。在实际开发中,还可以根据需求选择添加更多的Struts2插件,如...