maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

第一步:添加相关依赖包

各种包,分为为:springDI依赖包(最基础的必备包),AOP相关依赖,springMVC依赖包,servlet及jsp相关依赖,数据库库依赖包,mybatis及Mybatis-spring依赖包等,上代码pom.xml

复制代码

1 
  3 4.0.0
  4 com.yusys.pro
  5 NewsManagement
  6 war
  7 0.0.1-SNAPSHOT
  8 NewsManagement Maven Webapp
  9 http://maven.apache.org
 10 
 11 
 12 junit
 13 junit
 14 3.8.1
 15 test
 16 
 17 
 22 
 23 
 24 
 25 commons-logging
 26 commons-logging
 27 1.2
 28 
 29 
 30 
 31 org.springframework
 32 spring-context
 33 4.3.13.RELEASE
 34 
 35 
 36 
 37 org.springframework
 38 spring-core
 39 4.3.13.RELEASE
 40 
 41 
 42 
 43 org.springframework
 44 spring-beans
 45 4.3.13.RELEASE
 46 
 47 
 48 
 49 org.springframework
 50 spring-context-support
 51 4.3.13.RELEASE
 52 
 53 
 54 
 55 org.springframework
 56 spring-expression
 57 4.3.13.RELEASE
 58 
 59 
 60 
 61 
 62 org.springframework
 63 spring-aspects
 64 4.3.13.RELEASE
 65 
 66 
 67 
 68 
 69 org.springframework
 70 spring-aop
 71 4.3.13.RELEASE
 72 
 73 
 74 
 75 aopalliance
 76 aopalliance
 77 1.0
 78 
 79 
 80 
 81 org.aspectj
 82 aspectjweaver
 83 1.8.13
 84 
 85 
 86 
 87 
 88 org.springframework
 89 spring-webmvc
 90 4.3.13.RELEASE
 91 
 92 
 93 
 94 org.springframework
 95 spring-web
 96 4.3.13.RELEASE
 97 
 98 
 99 
100 
101 
102 org.mybatis
103 mybatis
104 3.4.1
105 
106 
107 
108 org.mybatis
109 mybatis-spring
110 1.3.0
111 
112 
113 
114 
115 
116 javax.servlet
117 javax.servlet-api
118 3.1.0
119 provided
120 
121 
122 
123 javax.servlet
124 jsp-api
125 2.0
126 provided
127 
128 
129 
130 log4j
131 log4j
132 1.2.17
133 
134 
135 
136 javax.servlet
137 jstl
138 1.2
139 
140 
141 
142 
143 
144 org.springframework
145 spring-jdbc
146 4.3.13.RELEASE
147 
148 
149 
150 
151 commons-dbcp
152 commons-dbcp
153 1.4
154 
155 
156 
157 
158 mysql
159 mysql-connector-java
160 6.0.6
161 
162 
163 
164 
165 
166 redis.clients
167 jedis
168 2.9.0
169 
170 
171  
172 
173 
174 
175 
176   
177 maven-compiler-plugin  1.7 1.7 UTF-8  
178 
179  
180 NewsManagement
181 
182 

复制代码

 

 第二步,配置几个基础文件。应该从web.xml入手。这个是整个web程序的入口,相当于java的main函数,我在实际编码时并没有按照这个顺序,这里为了逻辑清楚,能够串联起来,我还是从这里说起,上代码;并将进行相应说明:

1、配置web.xml

复制代码

1 
 2 
 3 OrdersForGoods
 4 
 5 Archetype Created Web Application
 6  7 
 8 contextConfigLocation
 9 classpath:applicationContext-mybatis.xml
10 
11 
12 org.springframework.web.context.ContextLoaderListener
13 
14 
15 
16 springmvc 注意:这里的的名字一定要和springMVC的配置文件XXX-servlet.xml中的XXX名字完全相等,否则报错
17 org.springframework.web.servlet.DispatcherServlet
18 
19 contextConfigLocation
20 classpath:springmvc-servlet.xml
21 
22 1
23 
24 
25 springmvc
26 /
27 
28 
29 
30 encoding
31 org.springframework.web.filter.CharacterEncodingFilter
32 
33 encoding
34 utf-8
35 
36 
37 
38 encoding
39 /*
40 
41 
42 
43 log4j
44 classpath:log4j.properties
45 
46 
47 org.springframework.web.util.Log4jConfigListener
48 
49 

复制代码

2、applicationContext.xml

复制代码

1 
 2 
19      
20      
21      
22      
23          
24          
25         
26              
27      
28      
29      
30      
31      
32      
33      
34      
35      
36      
37      
38      
39      
40      
41      
42      
43      
44 

复制代码

3、springmvc-servlet.xml

复制代码

1 
 2 
14         
15         
16         
17         
18             
19             
20         
21         
22         
23         
24         

复制代码

 

4、mybatis-config.xml

  这个文件配置很少,主要是因为在SSM整合中,实际上主要是整合了mybatis,之前由mybatis进行配置的与数据库的联系全交给了spring去做,如数据源、连接池、事务等等。这些交给spring以后,当程序需要的时候,就会依赖注入的方式提供给程序用。springmvc主要作用可以先简单理解为调配调用,视图解析。

复制代码

1 
 2 
 5   
 6     
 7           
 8       
 9       
10           
11       
12   

复制代码

基础的配置文件就是这些,至于mapper.xml,属于dao层的内容,我倾向于将它理解为java代码的另一种特殊存在形式,放在后文进行说明

第三步、就是编写代码了(这里只是为了演示说明这个过程,就放一个相关的entity、dao、service、controller,其他的有兴趣的自己添加补充)。

1、entity实体类

复制代码

1 package com.yusys.entity;
 2 
 3 import java.util.Date;
 4 
 5 public class NewsDetail {
 6 
 7     private int id;
 8     private String title;
 9     private String summary;
10     private String author;
11     private Date createdate;
12     public int getId() {
13         return id;
14     }
15     public void setId(int id) {
16         this.id = id;
17     }
18     public String getTitle() {
19         return title;
20     }
21     public void setTitle(String title) {
22         this.title = title;
23     }
24     public String getSummary() {
25         return summary;
26     }
27     public void setSummary(String summary) {
28         this.summary = summary;
29     }
30     public String getAuthor() {
31         return author;
32     }
33     public void setAuthor(String author) {
34         this.author = author;
35     }
36     public Date getCreatedate() {
37         return createdate;
38     }
39     public void setCreatedate(Date createdate) {
40         this.createdate = createdate;
41     }
42     
43 }

复制代码

2、dao层

复制代码

1 package com.yusys.dao;
 2 
 3 import java.util.List;
 4 
 5 import com.yusys.entity.NewsDetail;
 6 
 7 public interface NewsDetailMapper {
 8     
 9     public List getAll();
10     
11     public List getNewsDetailByTitle();
12 }

复制代码

复制代码

1 
 2 
 4   
 5   
 8   
11   

复制代码

3、service层

复制代码

1 package com.yusys.service;
 2 
 3 import java.util.List;
 4 
 5 import com.yusys.entity.NewsDetail;
 6 
 7 public interface NewsDetailService {
 8 
 9     public abstract List getAll();
10 
11     public abstract List getNewsDetailByTitle();
12 
13 }

复制代码

复制代码

1 package com.yusys.service;
 2 
 3 import java.util.List;
 4 
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.stereotype.Service;
 7 
 8 import com.yusys.dao.NewsDetailMapper;
 9 import com.yusys.entity.NewsDetail;
10 @Service
11 public class NewsDetailServiceImpl implements NewsDetailService {
12     @Autowired
13     NewsDetailMapper newsDetailMpper;
14     
15     /* (non-Javadoc)
16      * @see com.yusys.service.NewsDetailService#getAll()
17      */
18     @Override
19     public List getAll(){
20         return newsDetailMpper.getAll();
21     }
22     
23     /* (non-Javadoc)
24      * @see com.yusys.service.NewsDetailService#getNewsDetailByTitle()
25      */
26     @Override
27     public List getNewsDetailByTitle(){
28         return newsDetailMpper.getNewsDetailByTitle();
29     }
30 }

复制代码

 

4、controller层

复制代码

1 package com.yusys.controller;
 2 
 3 import java.util.List;
 4 
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.ui.Model;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 
10 import com.yusys.entity.NewsDetail;
11 import com.yusys.service.NewsDetailService;
12 @Controller
13 public class NewsDetailController {
14     @Autowired
15     NewsDetailService newsDetailService;
16     
17     @RequestMapping(value="/newsDetailList")
18     public String getAllDetail(Model model){
19         List list=newsDetailService.getAll();
20         model.addAttribute("list", list);
21         return "newsDetail";
22     }
23 }

复制代码

第四步、创建newsDetail.jsp进行显示。

第五步、部署tomcat进行运行

1、

maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建_第1张图片

2、

maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建_第2张图片

3、点击下一步后添加项目后finish

maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建_第3张图片

4、tomcat未启动是双击

5、进入Overview界面,选择以下配置,关闭该界面

maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建_第4张图片

6、启动tomcat,运行程序,注掉controller中的方法调用,让其直接转到jsp页面,效果显现,一切OK,但是放开里面的方法,出现了问题,mysql的jar和tomcat的jar冲突的问题,具体问题及其他见相应的博文——maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建

转载于:https://my.oschina.net/u/3740271/blog/3020320

你可能感兴趣的:(maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建)