Spring MVC 配置文件dispatcher-servlet.xml 文件详解(转自 学无止境-yj)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:mvc="http://www.springframework.org/schema/mvc"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
  12. <!-- 使用spring提供的PropertyPlaceholderConfigurer读取数据库配置信息.properties
  13. 1、这里的classpath可以认为是项目中的src-
  14. 2、属性名是 locations,使用子标签<list></list>可以指定多个数据库的配置文件,这里指定了一个
  15. 其中order属性代表其加载顺序,而ignoreUnresolvablePlaceholders为是否忽略不可解析的 Placeholder,
  16. 如配置了多个PropertyPlaceholderConfigurer,则需设置为true
  17. <bean id="propertyConfigurerForProject2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  18. <property name="order" value="2" />
  19. <property name="ignoreUnresolvablePlaceholders" value="true" />
  20. <property name="locations">
  21. <list>
  22. <value>classpath:/spring/include/jdbc-parms.properties</value>
  23. <value>classpath:/spring/include/base-config.properties</value>
  24. </list>
  25. </property>
  26. </bean>-->
  27. <bean id="propertyConfigurer"
  28. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  29. <property name="ignoreUnresolvablePlaceholders" value="true"/>
  30. <property name="location" value="classpath:/application.properties"/>
  31. </bean>
  32. <!--注解探测器,在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,
  33. 如果扫描到有@Component @[email protected]等这些注解的类,则把这些类注册为bean
  34. 注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,因为前者包含了后者。
  35. 另外<context:annotation-config/>还提供了两个子标签
  36. 1. <context:include-filter> 2.<context:exclude-filter>
  37. <context:component-scan>有一个use-default-filters属性,改属性默认为true,这就意味着会扫描指定包下的全部的标有@Component的类,
  38. 并注册成bean.也就是@Component的子注解@Service,@Reposity等。所以如果仅仅是在配置文件中这么写
  39. <context:component-scan base-package="com.test.myapp.web"/>
  40. Use-default-filter此时为true,那么会对base-package包或者子包下的jun所有的进行java类进行扫描,并把匹配的java类注册成bean。
  41. 可以发现这种扫描的粒度有点太大,如果你只想扫描指定包下面的Controller,该怎么办?此时子标签<context:incluce-filter>就起到了勇武之地。如下所示
  42. <context:component-scan base-package="com.test.myapp.web.Controller">
  43. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  44. </context:component-scan>
  45. 这样就会只扫描base-package指定下的有@Controller下的java类,并注册成bean.
  46. 但是因为use-dafault-filter在上面并没有指定,默认就为true,所以当把上面的配置改成如下所示的时候,就会产生与你期望相悖的结果(注意base-package包值得变化)
  47. <context:component-scan base-package="com.test.myapp.web ">
  48. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  49. </context:component-scan>
  50. 此时,spring不仅扫描了@Controller,还扫描了指定包所在的子包service包下注解@Service的java类
  51. 此时指定的include-filter没有起到作用,只要把use-default-filter设置成false就可以了。这样就可以避免在base-packeage配置多个包名这种不是很优雅的方法来解决这个问题了。
  52. 另外在我参与的项目中可以发现在base-package指定的包中有的子包是不含有注解了,所以不用扫描,此时可以指定<context:exclude-filter>来进行过滤,说明此包不需要被扫描。综合以上说明
  53. Use-dafault-filters=”false”的情况下:<context:exclude-filter>指定的不扫描,<context:include-filter>指定的扫描-->
  54. <context:component-scan base-package="com.test.myapp">
  55. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  56. </context:component-scan>
  57. <!-- 视图解析器,根据视图的名称new ModelAndView(name),在配置文件查找对应的bean配置
  58. 这个视图解析器跟XmlViewResolver有点类似,也是通过把返回的逻辑视图名称去匹配定义好的视图bean对象。
  59. 不同点有二,一是BeanNameViewResolver要求视图bean对象都定义在Spring的application context中,
  60. 而XmlViewResolver是在指定的配置文件中寻找视图bean对象,二是BeanNameViewResolver不会进行视图缓存。
  61. 如果没有设置viewResolver,spring使用InternalResourceViewResolver进行解析。
  62. Spring实现ViewResolver的非抽象类且我们经常使用的viewResolver有以下四种:
  63. 1、InternalResourceViewResolver  将逻辑视图名字解析为一个路径
  64. 2、BeanNameViewResolver  将逻辑视图名字解析为bean的Name属性,从而根据name属性,找定义View的bean
  65. 3、ResourceBundleResolver   和BeanNameViewResolver一样,只不过定义的view-bean都在一个properties文件中,用这个类进行加载这个properties文件
  66. 4、XmlViewResolver  和ResourceBundleResolver一样,只不过定义的view-bean在一个xml文件中,用这个类来加载xml文件
  67. DispatcherServlet会加载所有的viewResolver到一个list中,并按照优先级进行解析。
  68. 我们不想只使用一种视图解析器的话,可以在[spring-dispatcher-name]-servlet.xml定义多个viewResolver:
  69. 注意order中的值越小,优先级越高。而id为viewResolver 的viewResolver的优先级是最低的。
  70. -->
  71. <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
  72. <property name="order" value="1"/>
  73. </bean>
  74. <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
  75. <!--<property name="prefix" value="/WEB-INF/"/>-->
  76. <!--<property name="suffix" value=".html"/>-->
  77. <!--</bean>-->
  78. <!--基于json格式的mvc交互-->
  79. <bean name="jsonView" class="com.test.myapp.MappingFastJsonJsonView">
  80. <property name="contentType" value="application/json;charset=UTF-8"/>
  81. </bean>
  82. <!-- spring mvc +servlet3.0上传文件配置,文件上传插件uploadify的应用
  83. 1)  在Web.xml的配置
  84. 需要在web.xml添加multipart-config,如下所示
  85. <servlet>
  86. <servlet-name>AcrWeb</servlet-name>
  87. <servlet-class>
  88. org.springframework.web.servlet.DispatcherServlet
  89. </servlet-class>
  90. <load-on-startup>1</load-on-startup>
  91. <multipart-config>
  92. <max-file-size>52428800</max-file-size>
  93. <max-request-size>52428800</max-request-size>
  94. <file-size-threshold>0</file-size-threshold>
  95. </multipart-config>
  96. </servlet>
  97. 2)  在spring的application.xml(名字不一定是application)的配置,需要在该配置文件下添加一个如下的bean
  98. spring mvc +servlet3.0上传文件配置
  99. <bean id="multipartResolver"
  100. class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
  101. </bean>
  102. 3)  在jsp页面中需要引入一些相关的该插件的包
  103. <script src="<c:url value="/asset/admin/js/uploadify/jquery.uploadify.min.js"/>"></script>
  104. 4)   定义一个选择文件的input框
  105. <div class="box-body">
  106. <span class="label input g1">上传apk</span>
  107. <input id="apk_upload" name="apk_upload" type="file"/>
  108. <input id="apkUrl" type="hidden" name="apkUrl"/>
  109. </div>
  110. 5)  Input file与插件进行绑定
  111. $("#apk_upload").uploadify({
  112. swf: "<c:url value=‘/asset/admin/js/uploadify/uploadify.swf‘/>",
  113. //cancelImg : "<c:url value=‘/asset/admin/js/uploadify/uploadify-cancel.png‘/>",
  114. uploader: "/acr/admin/app/apkupload",
  115. fileObjName: "file",//对应着文件输入框
  116. width:300,
  117. buttonText: ‘<img src="/acr/asset/admin/js/uploadify/upload.png" />‘,
  118. // onInit: function () { $(".uploadify-queue").hide();  },
  119. //removeCompleted : false,
  120. onUploadSuccess : function(file, data, response) {
  121. $("#apkUrl").val(data);
  122. },
  123. onUploadError : function(file, errorCode, errorMsg, errorString) {
  124. alert(‘文件 ‘ + file.name + ‘ 上传失败: ‘ + errorString);
  125. }
  126. });
  127. 注意:该插件的uploadify.swf文件时放入到项目的某一个文件下面
  128. Uploader的值对应的是url,该值映射到了springmvc的一个方法,该方法是文件上传的核心,
  129. 负责把文件写到指定位置的地方去。
  130. 6)  Spring 后台代码的实现
  131. @RequestMapping(value = "/apkupload", method=RequestMethod.POST)
  132. public @ResponseBody String apkUpload(
  133. @RequestParam MultipartFile file,
  134. Model model,
  135. HttpServletRequest request) throws IOException {
  136. InputStream input = null;
  137. OutputStream output = null;
  138. String root = "H:/file";
  139. //生成了文件名字
  140. String filename = file.getOriginalFilename();
  141. //文件要上传的位置
  142. String fileFullName = buildUpPath(root, filename);
  143. try {
  144. File dir = new File(root);
  145. if(!dir.exists()){
  146. dir.mkdirs();
  147. }
  148. input = file.getInputStream();
  149. output = new FileOutputStream(new File(fileFullName));
  150. //保存文件
  151. IOUtils.copy(input, output);
  152. } catch (Throwable e) {
  153. throw e;
  154. }finally{
  155. IOUtils.closeQuietly(input);
  156. IOUtils.closeQuietly(output);
  157. }
  158. return root+"/"+filename;
  159. }
  160. 其中filename对应着步骤5的onUploadSuccess中的data
  161. -->
  162. <bean id="multipartResolver"
  163. class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
  164. </bean>

[html] view plain copy

  1. </beans>
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:mvc="http://www.springframework.org/schema/mvc"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
  12. <!-- 使用spring提供的PropertyPlaceholderConfigurer读取数据库配置信息.properties
  13. 1、这里的classpath可以认为是项目中的src-
  14. 2、属性名是 locations,使用子标签<list></list>可以指定多个数据库的配置文件,这里指定了一个
  15. 其中order属性代表其加载顺序,而ignoreUnresolvablePlaceholders为是否忽略不可解析的 Placeholder,
  16. 如配置了多个PropertyPlaceholderConfigurer,则需设置为true
  17. <bean id="propertyConfigurerForProject2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  18. <property name="order" value="2" />
  19. <property name="ignoreUnresolvablePlaceholders" value="true" />
  20. <property name="locations">
  21. <list>
  22. <value>classpath:/spring/include/jdbc-parms.properties</value>
  23. <value>classpath:/spring/include/base-config.properties</value>
  24. </list>
  25. </property>
  26. </bean>-->
  27. <bean id="propertyConfigurer"
  28. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  29. <property name="ignoreUnresolvablePlaceholders" value="true"/>
  30. <property name="location" value="classpath:/application.properties"/>
  31. </bean>
  32. <!--注解探测器,在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,
  33. 如果扫描到有@Component @[email protected]等这些注解的类,则把这些类注册为bean
  34. 注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,因为前者包含了后者。
  35. 另外<context:annotation-config/>还提供了两个子标签
  36. 1. <context:include-filter> 2.<context:exclude-filter>
  37. <context:component-scan>有一个use-default-filters属性,改属性默认为true,这就意味着会扫描指定包下的全部的标有@Component的类,
  38. 并注册成bean.也就是@Component的子注解@Service,@Reposity等。所以如果仅仅是在配置文件中这么写
  39. <context:component-scan base-package="com.test.myapp.web"/>
  40. Use-default-filter此时为true,那么会对base-package包或者子包下的jun所有的进行java类进行扫描,并把匹配的java类注册成bean。
  41. 可以发现这种扫描的粒度有点太大,如果你只想扫描指定包下面的Controller,该怎么办?此时子标签<context:incluce-filter>就起到了勇武之地。如下所示
  42. <context:component-scan base-package="com.test.myapp.web.Controller">
  43. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  44. </context:component-scan>
  45. 这样就会只扫描base-package指定下的有@Controller下的java类,并注册成bean.
  46. 但是因为use-dafault-filter在上面并没有指定,默认就为true,所以当把上面的配置改成如下所示的时候,就会产生与你期望相悖的结果(注意base-package包值得变化)
  47. <context:component-scan base-package="com.test.myapp.web ">
  48. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  49. </context:component-scan>
  50. 此时,spring不仅扫描了@Controller,还扫描了指定包所在的子包service包下注解@Service的java类
  51. 此时指定的include-filter没有起到作用,只要把use-default-filter设置成false就可以了。这样就可以避免在base-packeage配置多个包名这种不是很优雅的方法来解决这个问题了。
  52. 另外在我参与的项目中可以发现在base-package指定的包中有的子包是不含有注解了,所以不用扫描,此时可以指定<context:exclude-filter>来进行过滤,说明此包不需要被扫描。综合以上说明
  53. Use-dafault-filters=”false”的情况下:<context:exclude-filter>指定的不扫描,<context:include-filter>指定的扫描-->
  54. <context:component-scan base-package="com.test.myapp">
  55. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  56. </context:component-scan>
  57. <!-- 视图解析器,根据视图的名称new ModelAndView(name),在配置文件查找对应的bean配置
  58. 这个视图解析器跟XmlViewResolver有点类似,也是通过把返回的逻辑视图名称去匹配定义好的视图bean对象。
  59. 不同点有二,一是BeanNameViewResolver要求视图bean对象都定义在Spring的application context中,
  60. 而XmlViewResolver是在指定的配置文件中寻找视图bean对象,二是BeanNameViewResolver不会进行视图缓存。
  61. 如果没有设置viewResolver,spring使用InternalResourceViewResolver进行解析。
  62. Spring实现ViewResolver的非抽象类且我们经常使用的viewResolver有以下四种:
  63. 1、InternalResourceViewResolver  将逻辑视图名字解析为一个路径
  64. 2、BeanNameViewResolver  将逻辑视图名字解析为bean的Name属性,从而根据name属性,找定义View的bean
  65. 3、ResourceBundleResolver   和BeanNameViewResolver一样,只不过定义的view-bean都在一个properties文件中,用这个类进行加载这个properties文件
  66. 4、XmlViewResolver  和ResourceBundleResolver一样,只不过定义的view-bean在一个xml文件中,用这个类来加载xml文件
  67. DispatcherServlet会加载所有的viewResolver到一个list中,并按照优先级进行解析。
  68. 我们不想只使用一种视图解析器的话,可以在[spring-dispatcher-name]-servlet.xml定义多个viewResolver:
  69. 注意order中的值越小,优先级越高。而id为viewResolver 的viewResolver的优先级是最低的。
  70. -->
  71. <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
  72. <property name="order" value="1"/>
  73. </bean>
  74. <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
  75. <!--<property name="prefix" value="/WEB-INF/"/>-->
  76. <!--<property name="suffix" value=".html"/>-->
  77. <!--</bean>-->
  78. <!--基于json格式的mvc交互-->
  79. <bean name="jsonView" class="com.test.myapp.MappingFastJsonJsonView">
  80. <property name="contentType" value="application/json;charset=UTF-8"/>
  81. </bean>
  82. <!-- spring mvc +servlet3.0上传文件配置,文件上传插件uploadify的应用
  83. 1)  在Web.xml的配置
  84. 需要在web.xml添加multipart-config,如下所示
  85. <servlet>
  86. <servlet-name>AcrWeb</servlet-name>
  87. <servlet-class>
  88. org.springframework.web.servlet.DispatcherServlet
  89. </servlet-class>
  90. <load-on-startup>1</load-on-startup>
  91. <multipart-config>
  92. <max-file-size>52428800</max-file-size>
  93. <max-request-size>52428800</max-request-size>
  94. <file-size-threshold>0</file-size-threshold>
  95. </multipart-config>
  96. </servlet>
  97. 2)  在spring的application.xml(名字不一定是application)的配置,需要在该配置文件下添加一个如下的bean
  98. spring mvc +servlet3.0上传文件配置
  99. <bean id="multipartResolver"
  100. class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
  101. </bean>
  102. 3)  在jsp页面中需要引入一些相关的该插件的包
  103. <script src="<c:url value="/asset/admin/js/uploadify/jquery.uploadify.min.js"/>"></script>
  104. 4)   定义一个选择文件的input框
  105. <div class="box-body">
  106. <span class="label input g1">上传apk</span>
  107. <input id="apk_upload" name="apk_upload" type="file"/>
  108. <input id="apkUrl" type="hidden" name="apkUrl"/>
  109. </div>
  110. 5)  Input file与插件进行绑定
  111. $("#apk_upload").uploadify({
  112. swf: "<c:url value=‘/asset/admin/js/uploadify/uploadify.swf‘/>",
  113. //cancelImg : "<c:url value=‘/asset/admin/js/uploadify/uploadify-cancel.png‘/>",
  114. uploader: "/acr/admin/app/apkupload",
  115. fileObjName: "file",//对应着文件输入框
  116. width:300,
  117. buttonText: ‘<img src="/acr/asset/admin/js/uploadify/upload.png" />‘,
  118. // onInit: function () { $(".uploadify-queue").hide();  },
  119. //removeCompleted : false,
  120. onUploadSuccess : function(file, data, response) {
  121. $("#apkUrl").val(data);
  122. },
  123. onUploadError : function(file, errorCode, errorMsg, errorString) {
  124. alert(‘文件 ‘ + file.name + ‘ 上传失败: ‘ + errorString);
  125. }
  126. });
  127. 注意:该插件的uploadify.swf文件时放入到项目的某一个文件下面
  128. Uploader的值对应的是url,该值映射到了springmvc的一个方法,该方法是文件上传的核心,
  129. 负责把文件写到指定位置的地方去。
  130. 6)  Spring 后台代码的实现
  131. @RequestMapping(value = "/apkupload", method=RequestMethod.POST)
  132. public @ResponseBody String apkUpload(
  133. @RequestParam MultipartFile file,
  134. Model model,
  135. HttpServletRequest request) throws IOException {
  136. InputStream input = null;
  137. OutputStream output = null;
  138. String root = "H:/file";
  139. //生成了文件名字
  140. String filename = file.getOriginalFilename();
  141. //文件要上传的位置
  142. String fileFullName = buildUpPath(root, filename);
  143. try {
  144. File dir = new File(root);
  145. if(!dir.exists()){
  146. dir.mkdirs();
  147. }
  148. input = file.getInputStream();
  149. output = new FileOutputStream(new File(fileFullName));
  150. //保存文件
  151. IOUtils.copy(input, output);
  152. } catch (Throwable e) {
  153. throw e;
  154. }finally{
  155. IOUtils.closeQuietly(input);
  156. IOUtils.closeQuietly(output);
  157. }
  158. return root+"/"+filename;
  159. }
  160. 其中filename对应着步骤5的onUploadSuccess中的data
  161. -->
  162. <bean id="multipartResolver"
  163. class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
  164. </bean>

[html] view plain copy

  1. </beans>

原文地址:https://www.cnblogs.com/WeiMJ/p/8401657.html

时间: 2024-10-14 12:03:24

Spring MVC 配置文件dispatcher-servlet.xml 文件详解(转自 学无止境-yj)的相关文章

web.xml文件详解

web.xml文件详解 前言:一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件. 1.WEB工程加载web.xml过程 经过个人测试,WEB工程加载顺序与元素节点在文件中的配置顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.WEB容器的加载顺序是:S

Maven pom.xml文件详解

Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml文件. pom.xml文件以xml的 形式描述项目的信息,包括项目名称.版本.项目id.项目的依赖关系.编译环境.持续集成.项目团队.贡献管理.生成报表等等.总之,它包含了所有的项目 信息. <project xmlns="http://maven.apache.org/POM/4.0.0&q

史上最全的maven的pom.xml文件详解

史上最全的maven的pom.xml文件详解 http://www.cnblogs.com/hafiz/p/5360195.html <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h

[转]AndroidManifest.xml文件详解

转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml文件详解(一) 每个应用程序在它的根目录中都必须要有一个AndroidManifest.xml文件.这个清单把应用程序的基本信息提交给Android系统,在应用程序的代码能够运行之前,这个信息系统必须建立.以下是清单文件要做的一些事情: 1. 用Java包给应用程序命名.这个包名是应用程序的唯一标识

AndroidManifest.xml文件详解(uses-permission)

语法(SYNTAX): <uses-permissionandroid:name="string"/> 被包含于(CONTAINED IN): <manifest> 说明(DESCRIPTION): 这个属性用于给应用程序授予正确的操作的所必须的权限.这些权限是在应用程序安装时被授予的,而不是在运行时授予的. 有关更多的权限信息,请看<AndroidManifest.xml文件详解(三)>文档中“权限”介绍(http://blog.csdn.net/

testNG xml文件详解

网上看到一篇整理的非常详细的xml文件详解,分享一下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 3 <!--suite(测试套件)为根路径,仅允许出现1次,是多个test(测试用例)的集合,以下为各属性含义及取值 4 @name 必填,标记suite的名称

Spring MVC 配置文件dispatcher-servlet.xml 文件详解

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/sch

[Maven]Settings.xml文件详解

概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. l  settings.xml文件是干什么的,为什么要配置它呢? 从settings.xml的文件名就可以看出,它是用来设置Maven参数的配置文件.并且,settings.xml是Maven的全局配置文件.而pom.xml文件是所在项目的局部配置. Settings.xml中包含类似本地仓储位置.修改远程仓储服务器.认证信息等配置. settings

XML文件详解以及解析

一.xml基础详解: 1.概述: xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带者.xml是当前处理结构化文档信息中相当给力的技术,xml有助于在服务器之间穿梭结构化数据,这使得开发人员更加得心应手的控制数据的存储和传输. Xml用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.Xml是标准通用标记语言(S