小弟初学struts,但是不懂为什么要要用struts,以前用servlet写项目的时候觉得很好。现在不懂struts的好处,希望大牛可以为小弟解说下,越详细越好.......

解决方案 »

  1.   

    去下载一些关于SSH框架的视频
      

  2.   

    struts是一个mvc框架而已 跟servlet没什么区别 
      

  3.   

    是啊没什么区别。但是觉得不要先问区别,建议熟悉struts之后,结论就自己出来了。
      

  4.   

    先学学struts之后,你就会明白一些了。
      

  5.   

     和你说下我自己的体会吧。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文件,所有的流程通过这个文件就能看出来了
      

  6.   

    Struts2.x框架帮我们做了很多本该是我们编写的代码,比如:表单数据的获取、数据类型的转化、校验、跳转、线程安全等,使得我们可以直接编写业务代码,而无需做这些和业务本身没有关系的代码编写(我们只需要编写Action和一些配置就行了,框架本身就是个半成品,我们只需要做剩下和我们自己业务有关的部分就行了)。而且Struts2通过使用了责任链模式、装饰模式、构造模式等增加了框架的可扩展性、可维护性,我们可以在这个框架上进行自己的扩充。而这些都是我们使用servlet难以解决,或者说是需要做大量工作才能解决的问题。Struts框架是一个很优秀的MVC模式的实现,不能一言蔽之,希望以上回答能帮你理解,如果有问题,继续交流。
      

  7.   

    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>
      

  8.   

    哦错了,Action是不是继承ActionServlet。。不过ActionServlet是Servlet。。
      

  9.   

    我个人认为struts比servlet方便太多了,不需要一大堆的东西和类,servlet.xml里面的配置文件太多熟悉,struts.xml里面一目了然,看着就是舒服
      

  10.   

    一句话...差得远咯......你用了struts 就会发现 写servlet是多么痛苦的事情啊..呵呵...
      

  11.   

    struts是一个MVC的框架,可以帮你做一些事情,从而将主要的精力放在业务上面来,提高效率