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屬性,不能訪問