分模块开发创建Action子模块——(九)
web层选择war打包方式。
1.右击父工程新建maven模块
2.填写名字
3.选择打包方式为war
4.写web层代码与配置文件(添加web.xml),错误是缺少service层包
少了一个struts配置
5.导入service的jar包
6.修改web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-service.xml,classpath:applicationContext-action.xml,classpath:applicationContext-dao.xml</param-value> </context-param> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
注意:对于低版本的spring不支持 "classpath*:applicationContext-*.xml" 这种写法。只能采用下面的方法,多个配置文件用逗号隔开。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-service.xml,classpath:applicationContext-action.xml,classpath:applicationContext-dao.xml</param-value>
</context-param>
7. classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.
classpath*的使用:当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径。
8.打包action层
9.查看本地仓库目录结构
10. 最后再瞅瞅war包结构:
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】