不好意思,问题4的后半句写得有些出入,改为:
问题4:struts寻找struts-config.xml的机制是什么?或者说,还是上面的问题,struts-config.xml为什么会放在那个文件夹下,如果把它位置改了struts能找到它吗,如果能的话,为什么,如果不能的话,怎么办? 

解决方案 »

  1.   

    老兄,你一下子问这么多,谁有那么多的时间来回答。我大致说下,如果你用myeclipse6.0的话,你说的所有问题都可以轻松搞定!而且企业大多数用的是myeclipse和jbuilder,建议你换个智能点的开发工具!
      

  2.   

    1,不是固定的,可以修改.但有一条要保证,即WEB-INF要有.web.xml要有;
    2,同上,没有相应的web.xml;
    3,struts的jar包要放到classpath里,通常默认放到lib,这样能找到;
    4,机制你可以看源代码(struts的),放哪都行,只要保证找到;
    这是struts1.0的:
    servlet>
          <servlet-name>action</servlet-name>
          <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
          <init-param>
             <param-name>config</param-name>
             <param-value>/WEB-INF/struts-config.xml</param-value>
          </init-param>
             <load-on-startup>2</load-on-startup>
       </servlet>struts2.0默认.
    5,你修改后需要重新编译,重新打包;
      

  3.   

    补充4:Struts2核心的配置文件是缺省的struts.xml。
      

  4.   

    3楼的大哥(w2j3z3j2h1 ):
    我觉得用比较智能点的工具不能很好的理解它的运行过程,因为工具把一些地方都做好了。(我还没用过,不知道说得对不)
    4楼的大哥(M_song):
    我正要问一下web.xml问题。这个文件是手动添加的吗?反正我用我说的那个平台新建一个tomcat工程后,是没有这个文件的,只有通过eazyStruts添加了struts支持后,工程里才有了web.xml和struts相关的一些东西。
      

  5.   

    4楼的大哥(M_song): 
    >>补充4:Struts2核心的配置文件是缺省的struts.xml。
    忘了说明,我用的是struts1.1
      

  6.   

    另外建议你看看Tomcat源码,我想你的疑惑都会解决。打好j2se基础
      

  7.   

    谢谢各位的回答,给出的建议都很好,但总感觉没有一针见血。
    说的简单点就是,我编译不起我的tomcat项目,不知道为什么。
    还有就是web.xml是项目和struts-config.xml的纽带,靠web.xml中的定义,项目才能找到struts-config.xml,那么什么又是项目和web.xml的纽带呢,项目是如何寻找web.xml的,难道就是把它放在那个文件夹下面就行了?
      

  8.   

    问题1:不仅是tomcat,Web项目是目录结构从WEB-INF开始都是固定的,这是规定。 
    问题2:用eclispse的话可以新建web项目你的目录结构就有了。
    问题3、4:struts的jar包只能放在WEB-INF\lib下这也是规定。在web.xml配置struts配置文件:<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
    org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>config</param-name>
    <param-value>
    /WEB-INF/struts-config/struts-config.xml
    </param-value>
    </init-param>
    <init-param>
    <param-name>config/other</param-name>
    <param-value>
    /WEB-INF/struts-config/struts-config-other.xml
    </param-value>
    </init-param>
    ......
    other为多模块的模块名,你取这个名字。
    问题5:...
      

  9.   

    那么什么又是项目和web.xml的纽带呢,项目是如何寻找web.xml的,难道就是把它放在那个文件夹下面就行了?
    tomcat 启动时 会去寻找它路径下的webapps文件夹下的工程名也就是你所说的项目了 你的这个项目要符合一定的规矩 也就是一定的目录结构 这样能理解吗
    找到项目后 web服务找你说的那个纽带web.xml 加载该web.xml内的东西 至此 项目基本上算跑动起来
      

  10.   

    知道源理是一件好事
    不过好事不要做得太早做太早了会让你失去信心,因为太烦人了编程有很多事情没有为什么 比如 delphi if then java if (){}这东西你说为什么?
    因为编译器要求的,语法归定的编个差不多了,有时间在自行研究为啥,区别。这样不乏合理性。