求解释?struts和servlet的区别,越详细越好? 小弟初学struts,但是不懂为什么要要用struts,以前用servlet写项目的时候觉得很好。现在不懂struts的好处,希望大牛可以为小弟解说下,越详细越好....... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去下载一些关于SSH框架的视频 struts是一个mvc框架而已 跟servlet没什么区别 是啊没什么区别。但是觉得不要先问区别,建议熟悉struts之后,结论就自己出来了。 先学学struts之后,你就会明白一些了。 和你说下我自己的体会吧。struts相当于一个更大的servlet。struts2工作流程:Form表单提交action,struts会检测form表单提交的URL是否有.action的后缀,有的话则转入struts.xml配置文件上面,这个配置文件里有多个action配置元素,然后根据之前提交的URL的名字在这配置里寻找同名的action,找到了之后就会生成一个action元素里对应的类的对象,再把form表单提交过来的数据调用对象的set方法逐个的把数据赋值到对象里面。赋值完之后,就会调用execute方法,这个execute方法会返回一个字符串,流程就要转回到struts.xml里面,根据action元素下的result元素又转到其他的jsp页面或action去了。Struts2能完成一些常见的类型转换功能,而servlet全部都要自己编写,所以这也是使用struts更具有优势的原因之一。Struts2的核心就是struts.xml文件,所有的流程通过这个文件就能看出来了 Struts2.x框架帮我们做了很多本该是我们编写的代码,比如:表单数据的获取、数据类型的转化、校验、跳转、线程安全等,使得我们可以直接编写业务代码,而无需做这些和业务本身没有关系的代码编写(我们只需要编写Action和一些配置就行了,框架本身就是个半成品,我们只需要做剩下和我们自己业务有关的部分就行了)。而且Struts2通过使用了责任链模式、装饰模式、构造模式等增加了框架的可扩展性、可维护性,我们可以在这个框架上进行自己的扩充。而这些都是我们使用servlet难以解决,或者说是需要做大量工作才能解决的问题。Struts框架是一个很优秀的MVC模式的实现,不能一言蔽之,希望以上回答能帮你理解,如果有问题,继续交流。 struts1的ActionServlet是extends HttpServlet的,所以你所写的Action实际上就是个Servlet。。<servlet> <servlet-name>struts1</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class></servlet><servlet-mapping> <servlet-name>struts1</servlet-name> <url-pattern>/*.do</url-pattern></servlet-mapping> 哦错了,Action是不是继承ActionServlet。。不过ActionServlet是Servlet。。 我个人认为struts比servlet方便太多了,不需要一大堆的东西和类,servlet.xml里面的配置文件太多熟悉,struts.xml里面一目了然,看着就是舒服 一句话...差得远咯......你用了struts 就会发现 写servlet是多么痛苦的事情啊..呵呵... struts是一个MVC的框架,可以帮你做一些事情,从而将主要的精力放在业务上面来,提高效率 java实体类里有个'内部实体类',怎么给他赋值 EJB3.0+Struts2做查询时的异常 spring Aop的动态代理是怎么实现的? spring邮件服务? 请教JFreeChart中关于DefaultCategoryDataset得问题 hibernate group by 查询 有谁知道用arale爬虫软件在百度图片上面寻找到的图片都打不开啊? 1000分悬赏 J2EE下如何配置数据库 com和ejb之间通讯 上传文件时,后台代码中取字段问题 一个关于java解析xml的问题
struts2工作流程:Form表单提交action,struts会检测form表单提交的URL是否有.action的后缀,有的话则转入struts.xml配置文件上面,这个配置文件里有多个action配置元素,然后根据之前提交的URL的名字在这配置里寻找同名的action,找到了之后就会生成一个action元素里对应的类的对象,再把form表单提交过来的数据调用对象的set方法逐个的把数据赋值到对象里面。赋值完之后,就会调用execute方法,这个execute方法会返回一个字符串,流程就要转回到struts.xml里面,根据action元素下的result元素又转到其他的jsp页面或action去了。
Struts2能完成一些常见的类型转换功能,而servlet全部都要自己编写,所以这也是使用struts更具有优势的原因之一。
Struts2的核心就是struts.xml文件,所有的流程通过这个文件就能看出来了
<servlet>
<servlet-name>struts1</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>struts1</servlet-name>
<url-pattern>/*.do</url-pattern>
</servlet-mapping>