您的位置:首页 > 编程语言 > Java开发

【史上最全的web.xml一句一译】Struts框架的xml配置文件(一)

2014-12-29 22:43 309 查看
我在使用Struts框架时,对xml配置文件具体如何关联各层文件十分困惑,然后将问题分解如下:

struts-config.xml的每一个标签的作用和关系?
web.xml如何控制struts-config.xml文件和每一个标签的作用和关系,尤其是对servlet的处理。
java web为什么需要配置xml文件,servlet等为什么需要配置xml文件。
properties与xml 之间的区别?

解决问题从下自上,首先是properties与xml 之间的区别。

功能上两者都是按照一定格式储存数据,一个按照 key=value型,一个是<key>value</key>。用于资源文件和配置文件,当然xml还可以传输数据。

区别的话,层次性和通用性上,xml更加优秀。其实就是潮流的问题,xml作为跨语言的数据传输的新语言,大家赶潮流嘛~

然后是第三个问题,servlet等为什么需要配置xml文件?为什么不能直接使用servlet文件。

//我们总是认为这是sun约定的。突然发现有些事情不寻根问底,或者我总认为开发应用的不需要知道底层怎么工作,这好像是一个坑,不去填它,越积越多,我们就会掉下去,而且潜意识里根本不会想到是它的原因。

回归正题,简单地说,就是帮助Tomcat找到所需要用的servlet。即tomcat需要根据配置文件决定载入路径和类,根据url-pattern决定对应哪个。

具体见下面的web.xml的备注,详尽极了!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
	"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
  <!--设置该project的名称和描述,可在tomcat管理器中看到--> 
  <display-name>smartstruts</display-name>
  
  <!-- servlet-name要一致,就是一条线。 -->
  <servlet>
    <!--url上显示的名字,也就是告诉服务器的名字,自己取得!--> 
    <servlet-name>action</servlet-name>
    <!-- 在加入struts的jar包时,相应同时添加。 -->
    <!-- 告诉服务器需要载入的类,也就是servlet的位置,这里是由于导入struts的框架 -->
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <!--给servlet附加参数,用在动态配置(是指struts-config.xml对struts工程的控制,是可变的)中--> 
    <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>

  <!-- Standard Action Servlet Mapping -->
  <!-- 它用来指定ActionServlet可以处理哪些URL -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <!-- “*.do”像是路引,对应着form的属性action=“*.do” -->
   <!--  所以说服务器先找到servlet-mapping,然后再找到servlet。而不是根据前后上下顺序。 -->
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <!-- 小结一下服务器的工作原理:服务器会根据"*.do"查找servlet-mapping中的url-pattern来对应
servlet-name为(action) 再根据action 名查找xml中的servlet节下的servlet-class  -->

  <!-- The Usual Welcome File List -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

</web-app>
今天好累,先写第一部分,明天写第二部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: