SSM框架入門和搭建 十部曲

jopen 8年前發布 | 773K 次閱讀 Spring HTML XML JEE框架

又快到畢業設計的時候了,有的學弟說想用ssm做畢業設計,在網上找到資料看不懂,基礎差。我就幫他寫了一個demo,順便也整理一下。

SSM框架,顧名思義,就是Spring+SpringMVC+mybatis。

通過Spring來將各層進行整合,

通過spring來管理持久層(mybatis),

通過spring來管理handler。

總之,spring是將各層進行整合。

廢話不說了,來搭建吧。

共十個步驟,有點啰嗦,但是我覺得挺仔細的。不足之處,指正。

第一步,建立一個動態的web項目。

第二步,建立各個包,并導入各種jar包,我是從網上下載的。如下圖:

第三步,建立model類吧。我這邊建立一個很簡單的類,先不進行配置,配置有點頭暈。

建立user類,自建get和set方法,并構造方法:

1 package com.model;
2 
3 public class User {
4     private int id;
5     private String username;
6     private String age;
7 }

第四步,容我先配置一下mybatis的xml文件。

建一個userMapper.xml和UserMapper.java 接口文件 。

先做一個select * from d_user;

因為數據庫是這個樣子滴,如下圖:

配置代碼如下:

1 package com.mapper;
2 
3 import java.util.List;
4 
5 import com.model.User;
6 
7 public interface UserMapper {
8     List<User> findAllUser();
9 }

xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
";
<mapper namespace="com.mapper.UserMapper">
    <!-- 解決表名與字段不匹配 -->
    <resultMap type="User" id="userResultMap">
        <id property="id" column="user_id"/>
        <result property="username" column="user_name"/>
        <result property="age" column="user_age"/>
    </resultMap>

<select id="findAllUser" resultMap="userResultMap" resultType="User">
    select * from d_user
</select>

</mapper></pre>

mybatis,算是完成一半了,后面的會繼續,不會停的。

需要考慮到service了。這就有了第五步了。

第五步,配置service。

首先,要看到我們之前建的兩個包,一個是com.service和com.service.impl。

在com.service中,要建立一個UserService類。代碼如下:

package com.service;

import java.util.List; import com.model.User;

public interface UserService { List<User> findAllUser(); }</pre>

另一個,需要用到這個接口,implements它吧。

UserServiceImpl.java代碼如下:

package com.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;

import com.mapper.UserMapper; import com.model.User; import com.service.UserService;

@Service @Transactional public class UserServiceImpl implements UserService{
@Resource public UserMapper userMapper; @Override public List<User> findAllUser() { // TODO Auto-generated method stub List<User> findAllUser = userMapper.findAllUser(); return findAllUser; } }</pre>

@后面的注解一定要加的,不然,會出錯的。第六步:開始寫controller吧 controller,從單詞上就能看到,控制。 寫一個UserController類吧。 
 1 package com.controller;
 2 
 3 import java.util.List;
 4 
 5 import javax.servlet.http.HttpServletRequest;
 6 
 7 import org.springframework.beans.factory.annotation.Autowired;
 8 import org.springframework.stereotype.Controller;
 9 import org.springframework.web.bind.annotation.RequestMapping;
10 
11 import com.model.User;
12 import com.service.UserService;
13 
14 @Controller
15 @RequestMapping("/user")
16 public class UserController {
17     
18     @Autowired
19     private UserService userService;
20     
21     @RequestMapping("/findAllUser")
22     public String findAllUser(HttpServletRequest request){
23         List<User> listUser =  userService.findAllUser();
24         request.setAttribute("listUser", listUser);
25         return "/allUser";
26     }
27 }

去看他們之間的類,去了解他們之間的關系。我覺得了解很重要。

第七步,開始配置xml文件吧,把文件放在config中。

mybatis-config.xml,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <typeAlias alias="User" type="com.model.User"/>
    </typeAliases>
    <mappers>
        <mapper resource="com/mapper/userMapper.xml" />
    </mappers>
</configuration>

其實,這些代碼是在配置mybatis的時候提前敲好的,

<mapper resource="com/mapper/userMapper.xml" />
這行代碼是在寫完userMapper.xml去寫上的。

然后就是去寫spring配置了:spring-common.xml和spring-mvc.xml依次如下。其實代碼都是我百度的,然后自己修改一下,謝謝分享。</pre>

  1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="

View Code</pre>

  1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans 
 6     http://www.springframework.org/schema/beans/spring-beans.xsd
 7     http://www.springframework.org/schema/context
 8     http://www.springframework.org/schema/context/spring-context-4.0.xsd
 9     http://www.springframework.org/schema/mvc
10     ;
11 
12     <!-- 注解掃描包 -->
13     <context:component-scan base-package="com" />
14 
15     <!-- 開啟注解 -->
16     <mvc:annotation-driven />
17 
18     <!--
19         配置靜態資源,直接映射到對應的文件夾,不被DispatcherServlet處理,3.04新增功能,需要重新設置spring-mvc-3.0.xsd
20     -->
21     <mvc:resources mapping="/img/" location="/img/" />
22     <mvc:resources mapping="/js/" location="/js/" />
23     <mvc:resources mapping="/css/" location="/css/" />
24     <mvc:resources mapping="/html/" location="/html/" />
25 
26 
27 
28     <!-- 定義跳轉的文件的前后綴 ,視圖模式配置-->
29     <bean id="viewResolver"
30         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
31         <!-- 這里的配置我的理解是自動給后面action的方法return的字符串加上前綴和后綴,變成一個 可用的url地址 -->
32         <property name="prefix" value="/WEB-INF/jsp/" />
33         <property name="suffix" value=".jsp" />
34     </bean>
35 </beans>

View Code</pre>

第八步,就是web.xml文件了。網上一大堆,隨便下,我也是從網上拷貝的。然后,在么有錯誤的情況下,隨著性子改。

  1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee 
 5     ;
 6 
 7     <!-- 加載Spring容器配置 -->
 8     <listener>
 9         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
10     </listener>
11 
12     <!-- 設置Spring容器加載所有的配置文件的路徑 -->
13     <context-param>
14         <param-name>contextConfigLocation</param-name>
15         <param-value>classpath:config/spring-.xml</param-value>
16     </context-param>
17 
18     <!-- 配置SpringMVC核心控制器 -->
19     <servlet>
20         <servlet-name>springMVC</servlet-name>
21         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
22
23 <init-param> 24 <param-name>contextConfigLocation</param-name> 25 <param-value>classpath:config/spring-mvc.xml</param-value> 26 </init-param> 27 <!-- 啟動加載一次 -->
28 <load-on-startup>1</load-on-startup> 29 </servlet> 30 31 <!--為DispatcherServlet建立映射 --> 32 <servlet-mapping> 33 <servlet-name>springMVC</servlet-name> 34 <!-- 此處可以可以配置成
.do --> 35 <url-pattern>/</url-pattern> 36 </servlet-mapping> 37 38 <!-- 防止Spring內存溢出監聽器 --> 39 <listener> 40 <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> 41 </listener> 42 43 <!-- 解決工程編碼過濾器 --> 44 <filter> 45 <filter-name>encodingFilter</filter-name> 46 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 47 <init-param> 48 <param-name>encoding</param-name> 49 <param-value>UTF-8</param-value> 50 </init-param> 51 <init-param> 52 <param-name>forceEncoding</param-name> 53 <param-value>true</param-value> 54 </init-param> 55 </filter> 56
57 <filter-mapping> 58 <filter-name>encodingFilter</filter-name> 59 <url-pattern>/*</url-pattern> 60 </filter-mapping> 61 62 <welcome-file-list> 63 <welcome-file>index.jsp</welcome-file> 64 </welcome-file-list> 65 </web-app>

View Code</pre>

第九步,寫一個jsp文件吧,因為才controller中,return的是allUser。就寫一個allUser文件吧。

  1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 <%@ taglib uri="
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11
12 <title>ssm</title> 13
14 <meta http-equiv="pragma" content="no-cache"> 15 <meta http-equiv="cache-control" content="no-cache"> 16 <meta http-equiv="expires" content="0">
17 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 18 <meta http-equiv="description" content="This is my page"> 19 <!-- 20 <link rel="stylesheet" type="text/css" href="styles.css"> 21 --> 22 23 </head> 24
25 <body> 26 <table border="1"> 27 <tbody> 28 <tr> 29 <th>姓名</th> 30 <th>年齡</th> 31 </tr> 32 <c:if test="${!empty listUser }"> 33 <c:forEach items="${listUser}" var="list"> 34 <tr> 35 <td>${list.username }</td> 36 <td>${list.age }</td> 37
38 </tr>
39 </c:forEach> 40 </c:if> 41 </tbody> 42 </table> 43 </body> 44 </html>

View Code</pre>

第十步,執行吧,開啟tomcat服務器,輸入:

http://localhost:8080/SSM/user/findAllUser

得到的如下圖:

把數據庫的數據都顯示出來了。

</div>

來自: http://www.cnblogs.com/invban/p/5133257.html

</span></span></span></span>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!