1. 程式人生 > >ssm——整合,前端頁面設計,分頁

ssm——整合,前端頁面設計,分頁

1.建立mave專案

  • 1.先建立一個maven專案,建立完成之後, 右單擊專案->Build Path->Config Build Path->Java Build Path->Libaryies->Add Libary ->Server Runtime選擇你安裝tomcat 然後點選Apply;
  • 2.右單擊專案->Build Path->Config Build Path->ProjectFacts->java(改為1,8版本)
    *3.右單擊專案->Build Path->Config Build Path->ProjectFacts->Dynamic web module(先取消勾選,應用之後,再開它並且勾選,在下面的設定中設定為src/main/webapp)
    *4.在專案的pm.xml檔案中引入專案依賴的jar包;
	spring_jar:
	springmvc_jar:
	mybatis_jar:
	資料庫連線池驅動包:
	其他jar包:
詳情參考D:\ssm檔案\pom.xml檔案

2.引用bootStrap以及jquery

  • 1.網路引用bootStrap
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
	<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"
>
</script> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>

當然也可以下載下來本地引用,但是要注意路徑的配置

  • 2.引入jquery,可以使用本地的jqueery.js檔案,也可線上引用
http://code.jquery.com/jquery-1.4.1.min.js

3.配置web.xml檔案

1.配置web.xml檔案:

<1>.先配置spring

  <!-- 此處是用於配置spring的配置檔案 -->
    <param-name>contextConfigLocation</param-name>
    <param-value>
        <!-- 專案啟動之後就會立刻載入這兩個檔案 -->
		classpath:conf/spring.xml;
		classpath:conf/spring-mybatis.xml
		</param-value>

<2>.接下來配置springmvc前端控制器

 <!-- 配置spring-mvc的前端控制器,攔截所有請求 -->
	 <servlet>
    <servlet-name>sakila</servlet-name>
    <servlet-class>
			org.springframework.web.servlet.DispatcherServlet
	</servlet-class>
	</servlet>
	<servlet-mapping>
    <servlet-name>sakila</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

<3>.配置好前端控制器之後順手將字元編碼攔截器,需要注意的是字元編碼過濾器必須放在所有的過濾器之前

<filter>
    <filter-name>SpringEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <!-- 此處使用設定字元編碼的初始屬性 -->
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
     <init-param>
      <param-name>forceRequestEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>forceResponseEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
	 <filter-mapping>
    <filter-name>SpringEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

<4>.使用過濾器來使用reset風格的URI,目的是將頁面發過來的post請求轉換為我們指定的put/delete請求

<filter>
      <filter-name>HiddenHttpMethodFilter</filter-name>
     <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>

4.配置spring-mvc

spring-mvc包含網站的跳轉,邏輯的控制等

  • 1.先在resources/conf下建立spring-mvc.xml檔案;以下內容都是編寫在此檔案中
  • 2.編寫掃描器:
<!-- 用於掃描所有com包下面的業務邏輯元件 -->
	<context:component-scan
		base-package="com"  use-default-filters="false">
	    <!-- 此處的設定讓它只掃描controller層 -->
	   <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>
  • 3.配置檢視解析器
<!-- 配置檢視解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prrefix" value="/WEB-INF/view/"></property>
	<property name="suffix" value=".jsp"></property>
	</bean>
  • 4.接下來就是兩個標準配置,也就是將springMvc不能處理的請求交給tomcat
<!-- 兩個標準配置,也就是將springMvc不能處理的請求交給tomcat -->
	<mvc:default-servlet-handler/>
	<!-- 此處的設定是為了能支援springMvc更高階的一些功能,如JSr303校驗,ajax請求等 -->
	<mvc:annotation-driven></mvc:annotation-driven>

5.配置spring

spring主要是配置與業務邏輯有關的請求,比如資料來源,業務控制等

  • 1.先在resources/conf下建立spring.xml檔案;一下內容都是編寫在此檔案中
  • 2.配置c3p0連線池:
<!-- spring主要是配置與業務邏輯有關的請求,比如資料來源,業務控制等 -->
	<bean id="ComboPooledDataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value=""></property>
		<property name="driverClass" value=""></property>
		<property name="user" value=""></property>
		<property name="password" value=""></property>
	</bean>
  • 3.為了能夠以後方便操作資料庫,把連線資料庫的操作寫在dbconflig.properties檔案中,所以先在resources/conf下建立一個dbconflig.properties檔案
	jdbc.jdbcUrl=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=GXRLMis(jdbc:mysql://localhost:3306/ssm_crud  這個是mysql資料庫的url)
		jdbc.driverClass=com.mysql.jdbc.Driver
		jdbc.user=root
		jdbc.password=123456
  • 4.在spring,xml檔案中引入該配置檔案
	<!-- 引入dbconflig.properties配置檔案 -->
	  <context:property-placeholder location="classpath:dbconflig.properties"/>

注:這句話要寫在步驟2上面

  • 5.取dbconflig.properties中的值:
<!-- spring主要是配置與業務邏輯有關的請求,比如資料來源,業務控制等 -->
	<bean id="ComboPooledDataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
		<property name="driverClass" value="${jdbc.driverClass}"></property>
		<property name="user" value="${jdbc.user}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>
  • 6.加入掃描器,與spring-mvc不同的是,此掃描器除了controller不掃描,其餘的全部需要掃描,此步驟寫在最上面
 <!-- 引入掃描器 -->
	  <context:component-scan base-package="com">
	      <!-- 除了controller不掃描,其餘的全部需要掃描 -->
	      <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	  </context:component-scan>
  • 7.配置和mybatis的整合
<bean id="SqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
	    <!-- 指定mybatis全域性配置檔案的位置 -->
	    <property name="configLocation" value="classpath:conf/mybatisconflig.xml"></property>
	    <!-- 配置資料來源 -->
	     <property name="dataSource" ref="ComboPooledDataSource"></property>
	     <!-- 指定mybatis的mapper檔案 -->
	      <property name="mapperLocations" value="classpath:mapper/*.xml"></property>
	</bean>
  • 8.接下來配置掃描器,將mybatis介面的實現加入到ioc容器中
<!-- 配置掃描器,將mybatis介面的實現加入到ioc容器中 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<!-- 注入sqlSessionFactory -->
		<property name="sqlSessionFactoryBeanName"
			value="SqlSessionFactoryBean" />
		<!--掃描所有的Mapper介面,加入到ioc容器中 -->
		<property name="basePackage" value="com.mapper"></property>
	</bean>
  • 9.接下來進行實物控制的配置
<!-- 事務控制 -->
	<bean id="DataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	    <!-- 控制住資料來源
	    所以先連線資料來源ComboPooledDataSource
	     -->
	    <property name="dataSource" ref="ComboPooledDataSource"></property>
	</bean>
  • 10.開啟事務:

開啟基於註解的事務,使用xml的形式的事務(比較重要的事務都會用xml配置的方式)

 <!-- 事務控制 -->
	<bean id="DataSourceTransactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!-- 控制住資料來源 所以先連線資料來源ComboPooledDataSource -->
		<property name="dataSource" ref="ComboPooledDataSource"></property>
	</bean>
	<!-- 開啟基於註解的事務,使用xml的形式的事務(比較重要的事務都會用xml配置的方式) -->
	<aop:config>
		<!-- 切入點表示式 execution(* com.service..*()):所有com.service下的所有類以及所有方法,而(...)表示方法中的引數任意 -->
		<aop:pointcut
			expression="execution(* com.service..*(..))" id="txPoint" />
		<!-- 配置事務增強 -->
		<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint" />
	</aop:config>
	<!-- 配置事務增強,事務如何切入也就是事務增強之後如何進行切入 -->
	<tx:advice id="txAdvice" transaction-manager="DataSourceTransactionManager">
		<tx:attributes>
			<!-- 所有的方法都是事務方法 -->
			<tx:method name="*" />
			<!-- get開始的所有方法 -->
			<tx:method name="get*" read-only="true" />
		</tx:attributes>
	</tx:advice>

6.基礎模組——修改Mapper

  • 1.先在po中建立對應的bean
  • 2.在mapper中建立mapper介面;(就舉一個例子:在mapper中建立EmpMapper介面:
public interface EmpMapper {
	public List<Emp> getEmpInfo();
}

  • 3.在resource的mapper中建立對應的xml檔案;EMpMapper.xml檔案;
<mapper namespace="com.mapper.EmpMapper">
	<select id="getEmpInfo" resultMap="getEmpInfoReMap">
	select * from tbl_emp
	</select>
	<resultMap type="com.po.Emp" id="getEmpInfoReMap">
		<result column="emp_id" property="emp_id" />
		<result column="emp_name" property="emp_name" />
		<result column="gender" property="gender" /> 
		<result column="eamil" property="eamil" />
		<result column="dept_id" property="dept_id" />
	</resultMap>
</mapper>

7.基礎模組的spring單元測試

  • 1.如果不放心,可以在test檔案中建立一個測試類
	public static void main(String[] args) {
		//1.建立springIoc容器/ssmProject/src/main/
		ApplicationContext ioc=new ClassPathXmlApplicationContext("../../resources/conf/spring.xml");
		//2,從容器中獲取mapper
		EmpMapper bean=ioc.getBean(EmpMapper.class);
		List<Emp> lemp=bean.getEmpInfo();
		if(lemp.size()>=1) {
			for(Emp e:lemp) {
				System.out.println(e.getEmp_name()+"="+e.getEamil());
			}
		}
	}
  • 2也可以進行單元測試:

1.先在pom.xml中匯入spring test 這一單元測試類
2.在這個測試類上添加註解

/幫我們建立容器
			@RunWith(SpringJUnit4ClassRunner.class)
			//指定建立容器時使用哪個配置檔案
			@ContextConfiguration(locations= {"classPath:spring.xml"})

3.需要哪一個元件直接使用註解@Autowired進行自動裝載(注:這個自動裝載必須寫在方法外面)

@Autowired
			EmpMapper empMapper;

4.需要測試哪一個方法就在這個方法上面添加註解@Test,測試的詳細程式碼如下:

//幫我們建立容器
@RunWith(SpringJUnit4ClassRunner.class)
//指定建立容器時使用哪個配置檔案
@ContextConfiguration(locations = { "classpath:conf/spring.xml" })

public class Test1 {
	@Autowired
	EmpMapper empMapper;

	@Test
	public void testEmpMaaper() {
		List<Emp> lEmps = empMapper.getEmpInfo();
		System.out.println(lEmps.size());
		if (lEmps.size() >= 1) {
			for (Emp em : lEmps) {
				System.out.println(em.getEmp_name() + "=" + em.getEamil());
			}
		}
	}
}
  • 3.為了方便操作,我們要在spring.xml檔案中進行配置一個可以批量執行的sqlSession
<!-- 配置一個可以批量執行的sqlSession -->
	<bean id="SqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
	<constructor-arg name="sqlSessionFactory"  ref="SqlSessionFactoryBean"></constructor-arg>//此處的SqlSessionFactoryBean對應的是157行的SqlSessionFactoryBean
	<constructor-arg name="executorType"  value="BATCH"></constructor-arg>
	</bean>
  • 4.在剛剛我們建立的測試類中寫測試語句,但是在寫測試語句之前必須編寫對應的mapper檔案:
EmpMapper:
		public interface EmpMapper {
	public List<Emp> getEmpInfo();
	public void  updateEmpById(Emp emp);
}

EmpMapper:對應的emp.xml檔案:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 先引入對應的掃描檔案 -->
<mapper namespace="com.mapper.EmpMapper">
	<select id="getEmpInfo" resultMap="getEmpInfoReMap">
	select * from tbl_emp
	</select>
	<resultMap type="com.po.Emp" id="getEmpInfoReMap">
		<result column="emp_id" property="emp_id" />
		<result column="emp_name" property="emp_name" />
		<result column="gender" property="gender" /> 
		<result column
            
           

相關推薦

ssm——整合前端頁面設計

1.建立mave專案 1.先建立一個maven專案,建立完成之後, 右單擊專案->Build Path->Config Build Path->Java Build Path->Libaryies->Add Libary ->Serv

學習網站專案學習 - Django & Vue - 後臺進行過濾操作前端實現課程類別

目錄 一、實現思路總結 1-1 實現樣式 1-2 前端傳送分頁資料和課程請求 1-3 後臺路由接收,執行檢視函式 1-4 序列化元件校驗規則 1-5 通用狀態類 1-6 返回前端的資料查詢  1-7 前端獲取資料並渲染頁面 二、前端程式碼 三、表結構

IDEA整合SSM並使用PageHelper實現功能

使用到的技術: Spring、SpringMVC、Mybatis Maven MySQL Bootstrap PageHelper 準備工作: 建立一個Maven專案,選擇webapp 在pom檔案中新增所需依賴 <?xml version="1

前端請求後端後端查詢完畢傳到前端 用layui 將 資料

前端:我用的是layui框架的分頁 js 檔案 layui.config({base : "script/" }).use(['form','layer','jquery','laypage'],function(){var form = layui.form(),layer = paren

辦公資源之頁面設計透明色塊的製作

色塊是PPT中常見的元素之一,可以起到烘托、美化、修飾的作用。什麼是PPT色塊?其實就是插入一個形狀,給這個形狀填充一個顏色,這樣帶有顏色的形狀,我通常就把它們稱作色塊。什麼是透明色塊?透明簡單的說就是可以透過透明色塊,看到底下的內容。 其實,PPT一個簡簡單單的頁面,只要能巧妙地利用形狀,色塊

辦公資源之頁面設計透明色塊的制作

技術 顏色 制作 -o shadow 簡單的 作用 term ima 色塊是PPT中常見的元素之一,可以起到烘托、美化、修飾的作用。什麽是PPT色塊?其實就是插入一個形狀,給這個形狀填充一個顏色,這樣帶有顏色的形狀,我通常就把它們稱作色塊。什麽是透明色塊?透明簡單

ssm錯誤】ssm整合的一個包錯誤無法將xml打包編譯從而報錯

錯誤內容: defined in class path resource [spring-mybatis.xml]: Initialization of bean failed; nested exc

thinkphp實現獲取某一條資料前端頁面獲取這條資料時不用遍歷獲取值直接呼叫這條資料

首先獲取這條資料的id值: $cate_id = (int) $this->_param('cate_id'); 其次:獲取屬於這個id值的那條資料(根據前端需要獲取這條資料的那個欄位,$cate_name) $cate_name = D('ele_cate')->where

用activiti 工作流 實現簡單的請假 附帶原始碼 / SSM整合Activiti工作流(不錯可以看看)

http://blog.csdn.net/lvsehuoyan/article/details/38408649 新建一個Maven專案 專案結構 pom.xml <projectxmlns="http://maven.apache.org/POM/4.0.0"

SSM整合html使用Ajax時success獲取不到controller類的返回值的問題解決。

使用ajax對資料庫的執行刪除,資料可以正常刪除,就是controller方法可以執行,但是Ajax的success卻接收不到controller類刪除方法的返回值。卻一直執行Ajax的error。 我的ajax是這樣寫的: $.ajax({

weblogic應用前端頁面無法啟動報找不到頁面重啟服務報“Unable to obtain file lock but will retry”的解決辦法

啟動weblogic的時候報:“Unable to obtain file lock but will retry” 原因:因為伺服器down掉了,weblogic相關程序非正常關閉,導致下次重啟動時候報此類錯誤,不知道還有沒有別的原因,也不知道還有沒有別的解決辦法(殺

beego前端頁面渲染range迴圈包著range迴圈好幾層的巢狀怎麼寫?

beego 迴圈渲染前端頁面 這是兩個[]orm.params parents [map[Controller:admin Action:index Powername:後臺管理員管理 Pid:0

SSM整合jsp使用Ajax時success獲取不到controller類的返回值

問題描述:我寫的是使用ajax對資料的刪除,資料可以正常刪除但是Ajax的success卻接收不到controller類刪除方法的返回值。卻一直執行Ajax的error。 下面是jsp頁面的ajax

SSM博客 前端頁面樣式不顯示

頁面 靜態 js等 表示 pre res rdquo images image <!-- 由於在web.xml中定義的url攔截形式為“/”表示攔截所有的url請求, 包括靜態資源例如css、js等。所以需要在springmv

php利用simple_html_dom類獲取頁面內容充當爬蟲角色

contents names mac tro upd tool one mit 一個 PHP腳本扮演爬蟲的角色,可能大家第一時間想到可能會是會正則,個人對正則的規則老是記不住,表示比較難下手,今天工作中有個需求需要爬取某個網站上的一些門店信息 無意間在網上看到一個比較好的

T-sql 行轉列數據庫查詢

tput substr between dep and alt rom img lec 1 USE [APS_Future_FT] 2 GO 3 /****** Object: StoredProcedure [dbo].[A_CrudePrice] Scr

RSA非對稱加密演算法(表單提交時前端js加密後端java解密)

RSA非對稱加密演算法(表單提交時,前端js加密,後端java解密 非對稱加密演算法 需要的工具 前端jsp頁面 js程式碼 加密解密的工具類 產生公鑰的類 處理登陸請求的類 加密成功的密碼 非對稱加密演算

The given object has a null identifier頁面更新id丟失

org.springframework.dao.InvalidDataAccessApiUsageException: The given object has a null identifier: com.chuai.pojo.Role; nested exception is org.h

daoImpl裡呼叫getSession()hibernate DetachedCriteria Criteria進行查詢

DaoImpl裡呼叫getSession() public class SocialInfoDaoImpl extends BaseDaoImpl<SocialInfo,Integer> implements ISocialInfoDao { pub

2018年11月13日Java學習之關鍵字static(類成員和類方法)單例設計類的成員之:初始化塊

1.類變數(類屬性)由該類的所有例項共享 static 修飾的變數就是類變數,可以直接不建立物件訪問靜態成員,所有例項可以共同修改這個值 2.類方法 static修飾的方法可以用類名.方法名()訪問 在static方法內部只能訪問類的static屬性,不能訪問