刚刚学struts2 麻烦介绍下struts.xml和web.xml两个文件是做什么的?

解决方案 »

  1.   

    struts.xml 配置struts的
    web。xml 配置web应用的
      

  2.   

    百度 google 很多吧~~我在考虑的是 我百度给你  还是你自己百度呢?  哈哈
      

  3.   

    struts.xml是struts2配置文件。web.xml是web项目的配置。
      

  4.   

    struts.xml主要是用来判断要调用哪个Action去处理用户请求
    而web.xml主要是用来写过滤器或监听器等配置文件
      

  5.   

    web.xml是配置给某个项目的,通常放在web-inf下面和classes同级.
    一个Servlet应该去接受某个URL访问的请求,这个URL请求对应着哪一个SERVLET呢?
    就在WEB.XML里面进行配置.web.xml(部署描述文件)
    1、可以为你的Servlet注册和创建URL
    2、注册和指定任何应用程序的过滤器filter和监听器listener
    3、指定上下文初始参数的名/值对
    4、可以进行配置错误页面
    5、可以为应用程序指定欢迎文件
    6、配置会话的超时时间
    7、指定控制哪些人可以请求哪些WEB组件struts-config.xml
    这个东西算是在web.xml基础上面的一个扩展,struts只不过是apache组织为javaWeb应用创建的通用框架。
    struts-config.xml主要是告诉Action接受了相关请求之后,根据相应的内容选择相应的动作:
    1、接受某个URL请求之后,将请求转发到另外一个URL,或者另外一个ACTION
    2、为Struts进行全局设置
    3、定义数据源
    4、处理Action抛出的特定的异常(以及全局异常)
    5、定义Struts在启动的时候,或者关闭的时候进行加载或者卸载的插件。。plug-in  还有其他的功能。<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <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>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    </web-app>
    看一下在使用了Struts框架的WEB.XML:
    1、<url-pattern>*.do</url-pattern>  :接受所有.do为结尾的URL请求
    2、<servlet-name>action</servlet-name> :在WEB.XML中找到名字为action的Servlet的实现类
    3、<servlet-class>org.apache.struts.action.ActionServlet</servlet-class> :找到了Struts的ActionServlet的实现类
    4、<param-value>/WEB-INF/struts-config.xml</param-value> :这个Servlet在初始化的时候解析了Struts-config.xml文件作为配置文件。建议LZ有时间的话,可以反编译ActionServlet看一下 里面有一个非常重要的方法是 Class.forName("").newInstance();
      

  6.   

    ....sorry LZ是在学习Struts2. 我上面发的一个demo是Struts1下面的..Struts2在web.xml里面的体现是一个Struts2的一个核心Filter是一个FilterDispatcher而不是一个Servlet的形式了..原理差不多,具体形态struts1,2差的很远,至少Struts2下面就不用集成HttpServlet了..而是一个单纯的POJO.因为Struts2貌似是xwork2.3..好像,而不是Struts1的简单升级.可以回过头去根据Struts1的Struts-config.xml和web.xml更好的理解两个xml的作用.
      

  7.   

    每一个web项目都有一个web.xml,如果要用到struts2就必须在web.xml中加上strut2的过滤器
    其实他就是负责整个web项目的配置struts.xml就是struts的配置文件