1. 程式人生 > >Spring+SpringMVC+MyBatis+MySql框架整合

Spring+SpringMVC+MyBatis+MySql框架整合

Spring+SpringMVC+MyBatis框架整合,資料庫使用MySql,例項不涉及到真實業務。

在真實業務中,專案用maven進行管理,分頁使用外掛,登入等使用對應的攔截器處理,

如果涉及到分散式,可以使用rmi,webservice,http等技術,根據實際情況,這裡只是將

Spring,SpringMVC,Mybatis單純的進行整合。

關於Spring使用註解還是XML形式,官方文件中回答了其問題,告訴我們兩者結合使用,

也可單獨使用,仁者見仁,智者見智。

關於MyBatis是使用註解還是XML形式,還是根據實際情況,使用註解著實簡單,

但是維護sql費勁,使用XML維護sql方便,但是結構相對複雜。一般推薦簡單

sql查詢等用註解,對於長篇大論的sql還是用XML形式,維護相對輕鬆。

例項專案環境配置:

作業系統: windows7 64位

web基本環境: eclipse +jdk1.8.0_91 + apache-tomcat-7.0.56

資料庫: mysql-5.7.14-winx64

spring版本: Spring+SpringMVC 4.1.8

MyBatis和Spring整合: mybatis-3.2.7.jar + mybatis-spring-1.2.2.jar

Memcached做快取技術

例項均通過註解完成

一 例項專案結構

專案整體結構:

java檔案包結構:

config配置檔案結構:

二  專案jar包

關於jar包的簡單分析,其中存在技術共用jar包的情況,jar包互動等情況,只寫在了某一處:

Spring+springMVC的jar包以及技術aop:

aopalliance-1.0.jar

spring-aop-4.1.8.RELEASE.jar

spring-aspects-4.1.8.RELEASE.jar

spring-beans-4.1.8.RELEASE.jar

spring-context-4.1.8.RELEASE.jar

spring-context-support-4.1.8.RELEASE.jar

spring-core-4.1.8.RELEASE.jar

spring-expression-4.1.8.RELEASE.jar

spring-instrument-4.1.8.RELEASE.jar

spring-instrument-tomcat-4.1.8.RELEASE.jar

spring-jdbc-4.1.8.RELEASE.jar

spring-jms-4.1.8.RELEASE.jar

spring-messaging-4.1.8.RELEASE.jar

spring-orm-4.1.8.RELEASE.jar

spring-oxm-4.1.8.RELEASE.jar

spring-test-4.1.8.RELEASE.jar

spring-tx-4.1.8.RELEASE.jar

spring-web-4.1.8.RELEASE.jar

spring-webmvc-4.1.8.RELEASE.jar

spring-webmvc-portlet-4.1.8.RELEASE.jar

commons-logging.jar  ------Spring依賴

資料庫連線池:

dbcp:

commons-collections.jar

commons-dbcp.jar

commons-pool.jar

c3p0:

c3p0-0.9.1.2.jar

MyBatis和Spring整合jar:

mybatis-3.2.7.jar

mybatis-spring-1.2.2.jar

MySql資料庫驅動jar:

mysql-connector-java-5.1.21.jar

json處理,包括SpringMVC配置或自己通過json-lib包寫json處理類:

Jackson:

jackson-all-1.8.1.jar

jackson-annotations-2.3.0.jar

jackson-core-2.3.0.jar

jackson-core-asl-1.9.9.jar

jackson-core-lgpl-1.9.6.jar

jackson-databind-2.3.0.jar

jackson-mapper-asl-1.9.6.jar

json:

json-lib-2.4-jdk15.jar

檔案上傳:

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

commons-beanutils-1.7.0.jar

動態代理:

cglib-nodep-2.1_3.jar

Memcached相關jar:

java_memcached-release_2.6.6.jar

slf4j-api-1.5.8.jar

slf4j-log4j12-1.5.8.jar

log4j-1.2.15.jar

commons-pool.jar(與連線池等其他技術共用)

jstl標準標籤庫相關必須jar:

jstl.jar

standard.jar

單元測試:

junit-4.4.jar

xml檔案讀取:

dom4j-1.6.1.jar

servlet:

servlet-api.jar

三  spring的applicationContext.xml配置

檔案中配置內容:

1. 掃描配置

2. 註解配置

4. MyBatis與Spring整合配置

5. 資料庫註解事物管理

<?xml version="1.0" encoding="UTF-8"?>    
<beans xmlns="http://www.springframework.org/schema/beans"    
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
        xmlns:aop="http://www.springframework.org/schema/aop" 
        xmlns:context="http://www.springframework.org/schema/context"    
        xmlns:tx="http://www.springframework.org/schema/tx"    
        xsi:schemaLocation="    
            http://www.springframework.org/schema/beans   
            http://www.springframework.org/schema/beans/spring-beans-4.1.xsd    
            http://www.springframework.org/schema/aop   
            http://www.springframework.org/schema/aop/spring-aop-4.1.xsd   
			http://www.springframework.org/schema/context 
			http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/tx   
            http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">  
    <!-- spring基礎配置 begin -->
    <context:annotation-config/>
    <!-- 啟用自動掃描 -->
	<context:component-scan base-package="com.lanhuigu.*">
		<context:exclude-filter type="annotation" 
				expression="org.springframework.stereotype.Controller" /><!-- 排除註解為controller的型別 -->
	</context:component-scan>
	<!-- 從配置檔案.properties中讀取配置資料 --> 
    <bean id="jdbcConfig"  
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="locations">  
            <list>  
                <!--   
                    1.這裡的classpath可以認為是專案中的src目錄  
                    2.屬性名是 locations,使用子標籤<list></list>可以指定多個數據庫的配置檔案,這裡指定了一個  
                 -->  
                <value>classpath:developer-jdbc.properties</value>              
            </list>  
        </property>  
    </bean>  
    
    <!-- 1.配置資料來源(dataSource) -->  
    <bean id="dataSourceWrite" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">  
        <!-- driver -->  
        <property name="driverClass">  
            <value>${jdbc.driver}</value>  
        </property>  
        <!-- url -->  
        <property name="jdbcUrl">  
            <value>${jdbc.url}</value>  
        </property>  
        <!-- username -->  
        <property name="user">  
            <value>${jdbc.username}</value>  
        </property>  
        <!-- password -->  
        <property name="password">  
            <value>${jdbc.password}</value>  
        </property>  
    </bean>  
    <!-- 2.例項化SqlSessionFactory -->  
    <bean id="sqlWriteSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="singleton">  
        <property name="dataSource" ref="dataSourceWrite" />  
        <property name="configLocation" value="classpath:mybatis-config.xml" />  
    </bean>  
    <!-- 3.從SqlSessionFactory中獲取SqlSession,在SqlSession中包括資料來源配置和所有的對映SQL方法 -->  
    <!-- <bean id="writableSQLSession" class="org.mybatis.spring.SqlSessionTemplate" scope="prototype">  
        <constructor-arg index="0" ref="sqlWriteSessionFactory" />  
    </bean>   -->
    <!-- 自動掃描mapper介面,注入sqlsessionfactory -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.lanhuigu.dao.map"/>
	</bean>
    
    <!-- 4.設定事務管理配置(transactionManager) -->  
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource">  
            <ref bean="dataSourceWrite"/>  
        </property>  
    </bean>  
    <!-- 通過註解配置事務 -->
    <tx:annotation-driven transaction-manager="transactionManager" />
    <!-- spring基礎配置 end -->
    
</beans>

四  SpringMVC的spring-mvc.xml配置

配置內容:

1. 註解驅動,使用註解的前提配置

2. Controller層應該掃描的檔案位置

3. 檢視解析器,檢視跳轉的位置

4. 使用Jackson處理json的配置

5. 檔案上傳配置

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xmlns:mvc="http://www.springframework.org/schema/mvc"  
       xmlns:p="http://www.springframework.org/schema/p"  
       xmlns:context="http://www.springframework.org/schema/context"  
       xmlns:aop="http://www.springframework.org/schema/aop"  
       xmlns:tx="http://www.springframework.org/schema/tx"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans  
            http://www.springframework.org/schema/beans/spring-beans-4.1.xsd  
            http://www.springframework.org/schema/context   
            http://www.springframework.org/schema/context/spring-context-4.1.xsd  
            http://www.springframework.org/schema/aop   
            http://www.springframework.org/schema/aop/spring-aop-4.1.xsd  
            http://www.springframework.org/schema/tx   
            http://www.springframework.org/schema/tx/spring-tx-4.1.xsd  
            http://www.springframework.org/schema/mvc   
            http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">  
    <!-- 註解驅動:相當於註冊了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter兩個bean,配置一些messageconverter。即解決了@Controller註解的使用前提配置。 -->
    <mvc:annotation-driven/>
    <!-- 配置自動掃描的包路徑:自動掃描該包,使SpringMVC認為包下用了@controller註解的類是控制器  -->  
    <context:component-scan base-package="com.lanhuigu.controller"/>  
    <!-- 檢視解析器:定義跳轉的檔案的前後綴 ,檢視配置 -->      
    <bean id="viewResolver"  
          class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
          <!-- 配置字首 -->  
          <property name="prefix" value="/jsp/"/>  
          <!-- 配置字尾 -->  
          <property name="suffix" value=".jsp"/>  
    </bean> 
    <!-- 處理在類級別上的@RequestMapping註解 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	<!-- 處理在方法級別上的@RequestMapping註解 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<bean class="org.springframework.http.converter.StringHttpMessageConverter">
					<property name="supportedMediaTypes">
						<list>
							<!-- 預設是ISO-88859-1,避免亂碼這裡設定為UTF-8 -->
							<value>
								text/html;charset=UTF-8
							</value>
						</list>
					</property>
				</bean>
				<!-- 啟動JSON格式的配置 -->
				<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
					<!-- 解決 HttpMediaTypeNotAcceptableException: Could not find acceptable representation -->
					<property name="supportedMediaTypes">
						<list>
							<value>application/json;charset=UTF-8</value>
						</list>
					</property>
				</bean>
			</list>
		</property>
	</bean>
    <!-- 支援上傳檔案配置 -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    	<property name="maxUploadSize" value="10485760"/>
    </bean> 
</beans>

五 MyBatis的mybatis-config.xml配置

檔案配置內容:

1. 實體別名

2. Sql對映檔案位置

注意: MyBatis可以配置資料來源以及事物管理,與Spring整合後資料來源和事物配置都交給

spring來完成,其自身只是負責持久層與資料庫進行互動。

<?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 type="com.lanhuigu.dao.model.user.User" alias="User"/>
	</typeAliases>
	<!-- 外掛 -->
	 <!-- <plugins>
		<plugin interceptor="com.lanhuigu.plugin.PagePlugin">
			<property name="dialect" value="mysql"/>
			<property name="pageSqlId" value=".*listPage.*"/>
		</plugin>
	</plugins>  -->
	
	<!-- 註冊對映SQL檔案 -->
	<mappers>
		<package name="com.lanhuigu.dao.map" />
	</mappers>
</configuration>

六 Mysql的驅動使用者名稱等的developer-jdbc.properties配置

properties中將資料庫連線基礎資訊配置在其中,spring配置檔案中通過

PropertyPlaceholderConfigurer類來讀取檔案,並在spring配置檔案中使用,

方便修改和維護。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/lanhuigu_web
jdbc.username=root
jdbc.password=lanhuigu

七 log4j日誌檔案的log4j.properties配置

#Console Log  
log4j.rootLogger=debug,info, console  
  
log4j.appender.console=org.apache.log4j.ConsoleAppender  
log4j.appender.console.Threshold=INFO  
log4j.appender.console.layout=org.apache.log4j.PatternLayout  
log4j.appender.console.layout.ConversionPattern=%5p %d{MM-dd HH:mm:ss}(%F-%M:%L): %m%n

八 web.xml的配置

檔案配置內容:

1. 啟用tomcat處理靜態資原始檔,也可以在spring-mvc.xml中通過配置。

2. 在web啟動時,載入Spring和SpringMVC配置檔案

3. SpringMVC的轉發器DispatcherServlet配置

4. 日誌配置

5. 字符集編碼配置

6. session會話超時配置

7. 預設錯誤頁面配置

<?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" 
	version="3.0">
  	<!-- 靜態資原始檔的攔截,啟用tomcat的defaultServlet處理靜態資原始檔 -->
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.otf</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.eot</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.svg</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.ttf</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.woff</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.woff2</url-pattern>
	</servlet-mapping>
  	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.ico</url-pattern>
	</servlet-mapping>
  	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.jpg</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.gif</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.png</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.css</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.pdf</url-pattern>
	</servlet-mapping>
 	
 	<!-- spring begin -->
  	<!-- 載入spring配置檔案applicationContext.xml -->
  	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:applicationContext.xml
		</param-value>
  	</context-param>
  	<listener>
    	<listener-class>
            org.springframework.web.context.ContextLoaderListener
      	</listener-class>
  	</listener>
  	<!-- spring end -->
 
  	<!-- springMVC begin -->
 	<servlet>  
    	<servlet-name>springMVCDispatcherServlet</servlet-name>  
    	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    	<!-- 配置DispatcherServlet的初始化引數 -->  
    	<init-param>  
        	<param-name>contextConfigLocation</param-name>  
       	 	<param-value>classpath:spring-mvc.xml</param-value>  
    	</init-param>  
    	<!-- web應用被載入的時候建立servlet -->  
    	<load-on-startup>1</load-on-startup>  
  	</servlet>  
  	<servlet-mapping>  
    	<servlet-name>springMVCDispatcherServlet</servlet-name>  
    	<url-pattern>/</url-pattern>  
  	</servlet-mapping>  
  	<!-- springMVC end -->
  
 	<!-- log4j begin -->
 	<context-param>
    	<param-name>log4jConfigLocation</param-name>
    	<param-value>classpath:log4j.properties</param-value>
  	</context-param>
  	<context-param>
  		<param-name>log4jRefreshInterval</param-name>
    	<param-value>600000</param-value>
 	</context-param>
    <listener>
        <listener-class>
        	org.springframework.web.util.Log4jConfigListener
        </listener-class>
    </listener>
    <!-- log4j end -->
  
  	<!-- 字符集 begin -->
  	<filter>
    	<filter-name>encodingFilter</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>
  	</filter>
  	<filter-mapping>
    	<filter-name>encodingFilter</filter-name>
    	<url-pattern>/*</url-pattern>
  	</filter-mapping>
    <!-- 字符集 end -->
  	
  	<!-- 錯誤頁面配置 -->
	<error-page>
		<error-code>400</error-code>
		<location>/common/error/400.jsp</location>
	</error-page>
	<error-page>
		<error-code>404</error-code>
		<location>/common/error/404.jsp</location>
	</error-page>
	<error-page>
		<exception-type>java.lang.Throwable</exception-type>
		<location>/common/error/500.jsp</location>
	</error-page>
	<error-page>
		<error-code>500</error-code>
		<location>/common/error/500.jsp</location>
	</error-page>

	<!-- 會話超時時間 -->
	<session-config>
		<session-timeout>30</session-timeout>
	</session-config>
	
	<!-- 預設首頁 -->
    <welcome-file-list>  
      <welcome-file>index.jsp</welcome-file>  
    </welcome-file-list>  
</web-app>

九 Spring的業務介面配置

service下的IUserService介面:

package com.lanhuigu.service.user;  
  
import org.springframework.stereotype.Service;

import com.lanhuigu.dao.model.user.User;
@Service  
public interface IUserService {  
    public User queryUserById(int userId);  
}

service下的UserServiceImpl業務實現:

package com.lanhuigu.service.user.impl;  
  
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.lanhuigu.dao.map.user.UserMapper;
import com.lanhuigu.dao.model.user.User;
import com.lanhuigu.service.user.IUserService;
@Component 
public class UserServiceImpl  implements IUserService {  
    @Autowired
    private UserMapper userMapper;
    
   // @Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
    public User queryUserById(int userId) {  
       // 1. MyBatis註解形式使用
       User user = userMapper.queryUserById(userId);  
       // 2. MyBatis XML形式使用
    	//User user = userMapper.queryUserByIdOld(userId);  
       return user;  
    }  
  
}

十 SpringMVC的controller層配置

IndexController.java程式碼:

package com.lanhuigu.controller.index;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.lanhuigu.dao.model.user.User;
import com.lanhuigu.service.user.IUserService;

@Controller
public class IndexController{
    @Autowired
    IUserService userService;
    
    @RequestMapping(value="/index")
    public String index(HttpServletRequest request) {
    	// 資料互動測試
        User user = userService.queryUserById(1);  
        if (user == null) {  
            System.out.println("使用者為空");  
        } else {  
            System.out.println(user.getUserName());  
        }
        
        request.setAttribute("user", user);
        
        return "index";
    }
}

十一 MyBatis對映檔案和User實體配置,資料庫表和資料

User.java:

package com.lanhuigu.dao.model.user;

public class User {
	private Integer userId;
	private String userName;
	private String password;
	
	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

UserMapper.java:

package com.lanhuigu.dao.map.user;  
  
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.lanhuigu.dao.model.user.User;
  
public interface UserMapper {  
	// MyBatis註解形式查詢
    @Select(" select f_userId userId,f_userName userName,f_password password from t_user_main where f_userId = #{userId} ")  
    public User queryUserById(@Param("userId") int userId); 
    // MyBatis XML形式查詢(一定要配置對應的UserMapper.XML檔案)
    public User queryUserByIdOld(@Param("userId") int userId); 
}

UserMapper.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.lanhuigu.dao.map.user.UserMapper">  
   <select id="queryUserByIdOld" resultType="User">  
     select 
         f_userId userId, 
         f_userName userName,
         f_password password 
      from t_user_main  
      where f_userId = #{userId}  
   </select>
</mapper>

資料庫表和資料:

表:

CREATE TABLE `t_user_main` (
  `f_userId` int(11) NOT NULL AUTO_INCREMENT COMMENT '使用者id',
  `f_userName` varchar(225) DEFAULT NULL COMMENT '使用者名稱',
  `f_password` varchar(255) DEFAULT NULL COMMENT '使用者密碼',
  PRIMARY KEY (`f_userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

資料:

insert into t_user_main values(1,'test','123456');

十二 jsp檔案下的測試index.jsp程式碼以及WebContent下common中的錯誤頁面配置

頁面路徑截圖:

index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
  ******資料互動測試******<br>
      使用者名稱:${user.userName }<br>
      密碼:${user.password }
  </body>
</html>


common檔案下error中的頁面:

400.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	400錯誤頁面Test
</body>
</html>

404.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	404錯誤頁面Test
</body>
</html>

500.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	500錯誤頁面
</body>
</html>

十三 將web專案加入tomcat,啟動服務

訪問方式: http://ip:埠/專案名稱/index

eg:

http://localhost:9000/lanhuigu/index

十四 頁面效果

相關推薦

Spring+SpringMVC+MyBatis+MySql框架整合

Spring+SpringMVC+MyBatis框架整合,資料庫使用MySql,例項不涉及到真實業務。 在真實業務中,專案用maven進行管理,分頁使用外掛,登入等使用對應的攔截器處理, 如果涉及到分散式,可以使用rmi,webservice,http等技術,根據實際情況

ssm(spring + Springmvc + mybatis框架整合 · 筆記

一、環境配置 材料準備: JDK1.8 Maven Tomcat7 Eclipse MySQL 1、下載完後的maven配置: (1)配置本地倉庫 :開啟conf資料夾中的 settings.xml 將藍下滑線中的內容複製出來填寫自己的本地倉庫地址 <

spring+springMVC+mybatis三大框架整合學習總結

    之前就想弄一個基礎框架,用於學習和以後工作需要,現在有時間終於可以來玩一玩搭框架這個遊戲了。在搭建的過程中遇到了各種各樣的問題和報錯,一頭霧水,在網上查了好多資料,借鑑學習(http://blog.csdn.net/zhshulin/article/details/

一、使用IDEA,利用maven整合ssm框架spring+springmvc+mybatis+mysql))

1.工具 apache-tomcat 7 apache-maven(後面詳細講!這東西我一開始也很懵逼) mysql 5以上的版本 navicat(有了這個就不用cmd了,可以直接顯示資料庫,如下圖,請自行百度綠色版QAQ) 2.前言 前不久學完

Quartz學習——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz整合詳解(四)

當任何時候覺你得難受了,其實你的大腦是在進化,當任何時候你覺得輕鬆,其實都在使用以前的壞習慣。 通過前面的學習,你可能大致瞭解了Quartz,本篇博文為你開啟學習SSMM+Quartz的旅程!歡迎上車,開始美好的旅程! 本篇是在SSM框架——Spri

Spring+SpringMVC+Mybatis+Mysql整合例項

       本文要實現Spring+SpringMVC+Mybatis+Mysql的一個整合,實現了SpringMVC控制訪問的頁面,將得到的頁面引數傳遞給Spring中的Mybatis的bean類,然後查詢Mysql資料的功能,並通過JSP顯示出來。建議可以先看筆者另

SSM(Spring+SpringMVC+Mybatis框架搭建詳細教程【附源代碼Demo】

oid rep images end 訪問靜態文件 into *** 寫到 where http://www.cnblogs.com/qixiaoyizhan/p/7751732.html 【前言】   應某網絡友人邀約,需要一個SSM框架的Demo作為基礎學習資料,於

Quartz學習——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成詳解(四)

webapp cron表達式 msi 接口 cli post 定時 報錯 gets Quartz學習——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成詳解(四) 當任何時候覺你得難受了,其實你的大腦是在進化,當任何時候你覺得

Spring+SpringMVC+MyBatis+MySQL 實現讀寫分離

簡介 主從複製實現後,主庫資料只能夠寫入資料,讀資料只能夠從庫資料完成。此時程式碼部分就需要實現讀寫分離;就需要配置多個數據源;而以前配置的DataSource 只能夠從單一的URL中獲取連線。在Spring 中提供了一個AbstractRoutingDataSource 類來

基於Maven工具搭建Spring+SpringMVC++MyBatis(ssm)框架步驟

目錄 1.使用Ecplise建立Maven工程: 2.構建SSM框架 3.日誌資訊:log4j 4.應用例項:使用者登入 5 資料庫MySQL 1.使用Ecplise建立Maven工程: 1.1 File -> New -> Other,在New視

手把手教你如何從零開始在eclipse上搭起一個ssm(spring+springMVC+myBatis框架

1.新建一個Maven專案 直接點選next: 選擇這個,這個是指javaWeb專案 輸入maven專案的座標 點選finish,建立專案完成 2.新增maven依賴並下載 找到剛建的maven專案下的pom.xml配置檔案,開啟: 接下來,在url和depe

springMVC系列之(四) spring+springMVC+hibernate 三大框架整合

         首先我們要知道Hibernate五大物件:,本例項通過深入的使用這五大物件和spring+springMVC相互結合,體會到框架的好處,提高我們的開發效率          Hibernate有五大核心介面,分別是:Session Transaction

Spring,SpringMVC,Mybatis (SSM)框架的搭建

搭建SSM框架參照一下步驟:1.提供ssm所需jar包 這些jar包包括三個框架所需要的,就不一一列舉所屬了 aopalliance-1.0.jar asm-3.3.1.jar aspectjweaver.jar c3p0-0.9.1.jar cglib-2.2.2.j

用maven構建ssm(spring+springmvc+mybatis框架

建立maven專案使用idea或者eclipes建立maven web專案(具體步驟請參考其他部落格)pom.xml檔案1.在pom檔案中的url標籤下加入下面程式碼,方便以後更改jar包版本 <properties> <springframework

spring+springMVC+mybatis框架專案基礎環境搭建

上一個專案在後臺用到spring+springMVC+mybatis的框架,先新專案初步需求也已經下來,不出意外的話,應該也是用這個框架組合。雖然在之前activiti相關的學習中所用到的框架也是這個,但是當時重點在於實現activiti的功能,因此在環境搭建上也只是以能用為

spring+springmvc+mybatis+shiro+ehcache整合demo

實際使用shiro的時候大部分都是和spring等框架結合使用,主要就是配置web.xml將shiro的filter和spring容器bean的filter關聯起來,生命週期由servlet容器來控制,然後配置shiro的spring的xml檔案,其中主要配置s

新巴巴運動網專案:SSM(Spring+SpringMVC+mybatis框架的配置

新學的框架配置,先把配置過程記錄下來,有些不懂的地方以後再慢慢理解,本專案採用IDEA+Maven的方式建立,具體建立過程不再細說,下面從具體的配置檔案寫起。1.首先在web.xml裡配置spring監聽器:     方法:找包,在org.org.springframewor

Spring+SpringMVC+Mybatis 多資料來源整合

此篇文章是基於Spring3.0和mybatis3.2的 總體大概流程: 1. 拷貝所需jar 2.寫一個數據庫切換的工具類:DataSourceContextHolder,用來切換資料庫3.寫一個DynamicDataSource類來繼承AbstractRoutingDa

一篇文章學會Spring+SpringMVC+Mybatis+Maven搭建和部署,記一次Spring+SpringMVC+Mybatis+Maven的整合

之前一直沒有用過maven和Mybatis最近自己搭建一個基於Maven的Spring+SpringMVC+Mybatis開發環境。注:有的時候沒有自己動手真正搭過環境(脫離教學的方式),可能有些地方的問題注意不到的。會在介紹搭建的同時記錄一些遇見的坑和一些知識點。首先放上M

SSM(Spring+Spring MVC+MyBatis框架整合

SSM(Spring+Spring MVC+MyBatis)是媲美於 ssm 框架的輕量級 Java EE 框架。在實際專案中,我們採用 SSM 框架進行開發,Spring MVC 用於 Web 層,相當於 Controller,處理請求並作出響應;MyBati