初学J2EE,请问struts是什么?

fuliqiang 2004-04-10 10:39:54
总是看到大家在讨论struts,感觉也是一个很流行和重要的技术,但就是不知道它是什么
谁能告诉我struts是什么?干什么用的?
...全文
640 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixi557 2004-04-13
  • 打赏
  • 举报
回复
asgard 2004-04-13
  • 打赏
  • 举报
回复
mark
masklive 2004-04-13
  • 打赏
  • 举报
回复
mark
zengruicfan 2004-04-12
  • 打赏
  • 举报
回复
楼上的 kui兄,对Struts说的真好,口语化的讲述,平白易懂,以前在脑海里只知道是这样的,但就是不能表叙想kui兄这么好,
最后还不忘了做下广告,呵呵,:)
VVV_lucky 2004-04-12
  • 打赏
  • 举报
回复

Struts其实说来简单也简单,看下面一个公式。

Struts = 1 + 2 + n + MVC + Framework

也许大家看了公式以后,还是不太明白,没关系,我们慢慢讲:
1指的是1个资源文件,也就是ApplicationResources.properties。
为了适应国际化,Struts采用了资源文件的概念。其实资源文件很简单,就是一个键值对应的文件。

2呢?2其实指的是struts-config.xml和web.xml这两个配置文件。
这2个配置文件很重要,在我们的Web server运行时,自动装载这2个配置文件。就像我们办一个企业,在企业正式开始的时候,一定会提出一些规定措施,这些规定措施指定了发生什么事情去找什么人,去办什么事。只要按照这些规定去做,那么一切就都OK了!

n呢?n指的是“海量”的Tablib。
Taglib指的是标签库,我这里用n来表示,就是为了说明其数量的庞大。:)Taglib的出现极大的减轻了Web页面处理人员的压力,但同时也加大了对程序员的要求。一方面Taglib使JSP页面代码简洁,不含有冗余的Java代码,而另一方面,程序员要熟记各种Taglib的属性,甚至有的时候为了实现特殊的功能,还要求程序员自己编写Taglib。(建议:经常使用有助于更快、更扎实的记忆)

MVC可能大家都会知道它的概念,就是Modle – View – Controller,也就是大家常说的:逻辑-显示-控制。

Framework就是指框架的概念。
vongood 2004-04-12
  • 打赏
  • 举报
回复
果然是好文章。
kui 2004-04-11
  • 打赏
  • 举报
回复
以前使用servlet开发应用系统的人深深感受到在java代码中嵌入大量html代码是一件非常痛苦的事,于是sun推出了JSP,解决了java代码中嵌入html代码的问题。但是很快程序员们就知道,用JSP“在html代码中嵌入大量java代码”跟“在java代码中嵌入大量html代码”是一样的非常痛。JSP是这样,ASP也是这样。由于,Craig R. McClanahan借用MVC的思想,把Java web应用程序的java和html分离开放在不同的文件中,分成了三部分,也就是struts;后来,微软也学会了这种分离方法,但微软懒一些,只分成了两部分,也就是ASP.NET。
Struts (org.apache.struts)是一个开放源代码的Web应用框架,基于MVC设计模式,使用servlet和JSP API建立,可以用来构建复杂的Web应用。它允许我们分解一个应用程序的商业逻辑、控制逻辑和表现逻辑的代码,使它的重用性和维护性更好。Struts框架是Jakarta工程的一部分,由Apache软件基金会管理。Struts可以从http://jakarta.apache.org/ struts站点下载。
Struts框架提供以下服务。
作为MVC结构中的controller的servlet.
JSP里用于bean管理、HTML和JavaScript生成、模板处理和流程控制的JSP标签库。
用于国际化消息的框架。国际化你的Web应用,意味着你的Web应用在使用时可以让用户以喜爱的语言显示。这意味着你需要创建一个应用资源文件,包含每种语言的信息。
一个JDBC的实现来定义数据源和数据库连接池。
一个通用的的错误和异常处理机制,包括从一个应用程序资源文件读取错误信息。
XML语法分析。
文件上载工具。
注册机制。
一个基于Struts的应用程序的表示层(view)使用Struts标签库(taglibs)构建。来自客户的请求被传递给叫ActionServlet的servlet,它作为controller.使用了Struts的应用程序,所有需要通过框架的请求都通过ActionServlet传递。这个ActionServlet把数据从请求传递到ActionForm JavaBean。
ActionForm是代表从一个表单View组件输入数据的JavaBean。这些表单由JSP用Struts html标签库产生。这个beam由 ActionServlet生成,带request参数,它还请求ActionForm来验证用户提交数据的合法性。
ActionServlet通过定义一组ActionMapping来配置。一个ActionMapping是一个对象,它将请求中的URL映射到由应用程序开发者提供的处理请求的组件。ActionServlet和ActionMapping的配置在XML配置文件中完成。
专用的应用程序用于处理请求的组件叫Action类。在MVC结构中,它们代表模型。它们可能用于验证用户输入的合法性,假如在信息处理过程中出现了应用程序错误,Action类可以创建一个error对象的实例,然后保存庆HTTP request对象中。如果在Action类中的逻辑成功地被招待类给Controller传递一个ActionForward对象,代表所需的描绘响应的JSP。ActionForward有两种:专门转发给特定的Action类或全局转发(任何一个Action类可以把这些ActionForwards转给Controller)。

DESL 2004-04-11
  • 打赏
  • 举报
回复
不错不错
feixueOK 2004-04-11
  • 打赏
  • 举报
回复
很好呀
可视化的一点好处就是开发快,现在程序员就是喜欢这种工具,哈哈
我是喜欢。。。。。
kui 2004-04-11
  • 打赏
  • 举报
回复
我在2002年用ASP.NET开发了两个企业应用系统,深感ASP.NET非常不错,2002年底又接到了JSP的企业应用系统项目(原跟IBM合作但IBM不想做的一部分),用惯了Microsoft Visual Studio .NET再来用JAVA 和JSP的开发工具,这些工具可视化设计环境非常差,就连顶级的java开发工具JB连JSP的WEB可视化环境都没有,运行速度也非常慢,当时真的想把我手头上的几款JAVA 和JSP的开发工具丢到垃圾捅去。为了做项目,没别的办法,我不得不自己用VC++.NET做了一个JSP/Struts可视化开发工具。也就是现在的JSP/Struts可视化开发工具JSPStudio(当然,一定有人也想把JSPStudio丢到垃圾捅去)。

开发Struts,最好用Struts 专门开发工具JSPStudio:
1、Struts类函数都带“打.提示”,只要选择就可输入函数,对不熟悉StrutsAPI的人来说是最好不过的了。
2、可视化Struts标签的web设计界面,这是JCreator、eclipse、JB没有的功能。在JSPStudio中设计Struts的JSP页面,就象在Microsoft FrontPage中设计普通网页一样所见即所得,一样方便。
3、Struts完全中文显示解决方案:

(1)JSP页面中文显示问题:
新建JSP文件时,自己加入如下代码:
<%@ page contentType="text/html;charset=GB2312" %>
这样JSP页面上的中文就可以正常显示了。

(2)中文资源显示问题:
在JSPStudio中,默认的中文资源文件名是“ApplicationResources_ch.properties”,用户先将中文资源定入文件“ApplicationResources.properties”
然后选择工具条的“资源文件编码转换”键或选择“运行”菜单上的“资源文件编码转换”项,即可实现编码转换功能。

(3)表单和数据库中文显示问题:
在JSPStudio中建立Struts项目时,自动加入了编码转换设置过滤器。

可见在JSPStudio中,不需编程人员编写任何代码,仅仅点击一个资源文件编码转换键即可完全解决Struts中文显示问题。


4、Struts 数据库应用向导功能:
在新版的JSPStudio中,通过“Struts数据库应用文件向导”可完全自动实现数据库应用。
在向导中,只需输入文件名,通过手动加入数据库字段名或通过选择数据源自动添加数据库字段名,即可自动产生实体Bean,操作ADO(包括插入、删除、更新、查找功能)、输入JSP、JSP对应的ACtionForm、JSP对应的Action(例如打查找结果放入Bean中)、JSP输出(根据数据库自动产生输出表格)、自动配置XML文件等;
在新版的JSPStudio中,用不到一分钟的时间,即可完成一个完整数据库表的查找和显示,不需编程人员编写任何代码。
由于产生了操作ADO(包括插入、删除、更新、查找功能),只需编写很少的代码,即可实现完整的数据插入、删除、更新功能。

另外,还有自动分页的功能。

----------------
总之:用JSPStudio开发Struts非常容易,运行速度也快(是用VC.NET写的),有点像VB.NET。在组件栏中除html、JSP外,还有Struts标签组件,例如插入一个<html:text>标签组件,在编辑页中看到的就是一个输入文本框,即可视化设计,对输入文本框点鼠标右键选择“属性”,可直接添加变量;对组件双击鼠标左键自动跳转到相应的Java文件中。利用文件向导,选择数据源后数据库应用所有代码都自动生成,并生成具有分页、记录添加、编辑、更新、删除的页和所有源代码,像ASP.NET吧?编辑java代码时,有打"."自动提示的功能,包括自定义的变量、项目中自定义的类、JDK类、Struts类等,像VC.NET中的有打"."自动提示吧?
-------
另外,JBuilder X太贵了。

JSPStudio下载地址:
ftp://210.36.64.79/kui/
老土豆T 2004-04-10
  • 打赏
  • 举报
回复
http://www-900.ibm.com/developerWorks/cn/java/j-struts/index.shtml

其实你可以使用一下google^_^。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧