admin 管理员组文章数量: 1184232
2024年1月12日发(作者:tunic)
SSI框架搭建
SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6
编号:SSI-SMVC3-S3-I3
版本:V1.0
级别:公开
编写时间:2016-02-17
目 录
1 导言 ....................................................................................................................................... 1
1.1 目的 ............................................................................................................................ 1
1.2 范围 ............................................................................................................................ 1
1.3 说明 ............................................................................................................................ 1
2 搭建SpringMVC .................................................................................................................... 2
2.1 搭建所需jar包 .......................................................................................................... 2
2.2 其他依赖包 ................................................................................................................ 3
2.3 搭建步骤 .................................................................................................................... 4
2.3.1 创建项目 ......................................................................................................... 4
2.3.2 导入jar包 ....................................................................................................... 6
2.3.3 配置 .................................................................................................. 7
2.3.4 配置 ................................................................................... 9
2.3.5 配置 ........................................................................ 10
2.3.6 配置ties .................................................................................... 10
3 整合mybatis ....................................................................................................................... 11
3.1 整合所需jar包 ........................................................................................................ 11
3.2 其他依赖包 .............................................................................................................. 11
3.3 整合步骤 .................................................................................................................. 11
3.3.1 导入jar包 ..................................................................................................... 11
3.3.2 配置ties .................................................................................. 12
3.3.3 配置 .......................................................................... 12
3.3.4 配置 ........................................................................ 15
3.3.5 配置 ............................................................................... 16
3.3.6 创建实体model ............................................................................................ 17
3.3.7 创建实例化dao ............................................................................................ 19
3.3.8 创建业务服务service ................................................................................... 21
3.3.9 创建控制层controller .................................................................................. 23
I
3.3.10 页面代码 ..................................................................................................... 28
3.3.11 启动项目 ..................................................................................................... 37
II
SSI框架 SSI框架配置详细步骤
1 导言
1.1 目的
本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。
1.2 范围
本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。
1.3 说明
本文档是个人总结的经验,仅供参考学习,同时欢迎朋友们一起沟通学习,文档中会对使用的jar做详细解说,对配置的过程使用图文说明,因为SSI博大精深,很多知识在搭建过程中没有使用到,只是一个基础框架的搭建,能测试通过就可以,所以对于高要求的开发,需要自己添加jar、增加方法和配置,同时文档中出现的纰漏希望朋友们等指正。
开发环境eclipse-jee-indigo-SR1-win32-dic,Tomcat7.0,JDK1.7,mysql。
1
SSI框架 SSI框架配置详细步骤
2 搭建SpringMVC
2.1 搭建所需jar包
序号 名称
1
描述
spring面向切面编程,提供AOP(面向切面编程)
spring独立的asm程序
[spring2.5.6的时候需要asmJar 包,3.0开始提供他自己独立的 .ASM是小巧轻便的 Java 字节码操控框架 ,它能方便地生成和改造 Java 代码。 Hibernate 和
Spring 在底层都用到了 ASM(CgLib 底层用的 asm)]
2
3
springIoC(依赖注入)的基础实现,所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control /
Dependency Injection(IoC/DI)操作相关的所有类
4
spring 提供在基础 IoC 功能上的扩展服务,此外还提供许多企业级服务的支持,如
邮件服务、任务调度、JNDI定位、EJB 集成、远程访问、 缓存以及各种视图层框架的封装等
5 包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心
6
spring 表达式语言
7 包含对Spring对JDBC数据访问进行封装的所有类
8
9
封装了spring对于事物的控制
包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext 特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类
2
SSI框架 SSI框架配置详细步骤
10
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型
2.2 其他依赖包
序号 名称
1
描述
这个包是AOP联盟的API包,里面包含了针对面向切面的接口。 通常Spring等其它具备动态织入功能的框架依赖此包
2
3
Spring AOP所要用到的包
跟这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等
4 在 sun 开发 logger 前,apache 项目已经开发了功能强大的 log4j 日志工具,并向 sun
推荐将其纳入到 jdk 的一部分,可是 sun 拒绝了 apache 的提议,sun 后来自己开发了一套记录日志的工具。可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在使用 sun logger,因此 apache 才推出 commons-logging,使得我们不必关注我们正在使用何种日志工具
5 日志组件
3
SSI框架 SSI框架配置详细步骤
2.3 搭建步骤
2.3.1 创建项目
创建一个web项目,如下所示:
需要配置tomcat,用于web启动容器。
4
SSI框架 SSI框架配置详细步骤
5
SSI框架 SSI框架配置详细步骤
2.3.2 导入jar包
项目中点击lib,复制需要的jar到lib中即完成导入,如下所示:
如果没有导入完成,右键点击项目名(SSH),选择properties-Java Build
Path,点击Add Extenrnal JARs,选择项目lib中的jar包进行导入,如下所示:
6
SSI框架 SSI框架配置详细步骤
2.3.3 配置
在WEB-INF下配置,若没有该文件,则自己创建一个xml文件,主要配置spring容器,内容如下所示:
xmlns="/xml/ns/javaee" xmlns:web="/xml/ns/javaee/web-app_2_" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_" id="WebApp_ID" version="3.0"> 7 SSI框架 SSI框架配置详细步骤 8 SSI框架 SSI框架配置详细步骤
备注:中,引入了和文件,需要把log4j配置在前面,否则会报警告,因为后续加载的程序有打印日志的需求,不过不影响系统运行。
2.3.4 配置
该文件主要进行springmvc的相关配置,如注解、映射、解析等。
xmlns:mvc="/schema/mvc" xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p" xmlns:context="/schema/context" xsi:schemaLocation="/schema/beans /schema/beans/ /schema/mvc /schema/mvc/ /schema/context /schema/context/ 9 SSI框架 SSI框架配置详细步骤 "> class="tionMethodHandlerAdapter" /> class="alResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" />
2.3.5 配置
配置mybatis的时候再一起介绍。
2.3.6 配置ties
gger=info,Console,File
e=eAppender
ng=utf-8
=nLayout
sionPattern=%-d{yyyy-MM-dd
HH:mm:ss} %p (%F:%L) - %m%n
#=gFileAppender
=ollingFileAppender
ttern = '.'yyyy-MM-dd
=../logs/
#eSize=10MB
old=ALL
=nLayout
sionPattern=%-d{yyyy-MM-dd
HH:mm:ss} %p (%F:%L) - %m%n
10
SSI框架 SSI框架配置详细步骤
3 整合mybatis
3.1 整合所需jar包
序号 名称
1
2
3
描述
mybatis核心包
mybatis和spring整合包
mysql驱动包
3.2 其他依赖包
序号 名称
1
描述
Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池
2 设置@ResponseBody,把对象转换成json格式传输,Json序列化和反序列化的包
3
4
5
同上
sql解析工具
mybatis分页插件
3.3 整合步骤
3.3.1 导入jar包
项目中点击lib,复制需要的jar到lib中即完成导入,如下所示:
11
SSI框架 SSI框架配置详细步骤
3.3.2 配置ties
该文件为数据库配置文件,内容如下:
#数据库连接信息配置
jdbc_username=root
jdbc_password=root
jdbc_url=jdbc:mysql://127.0.0.1:3306/springmvc_test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
3.3.3 配置
该文件主要进行数据库相关的配置,如下所示:
xmlns:xsi="/2001/XMLSchema-instance" xmlns:context="/schema/context" xmlns:tx="/schema/tx" xmlns:aop="/schema/aop" 12 SSI框架 SSI框架配置详细步骤 xsi:schemaLocation=" /schema/beans /schema/beans/ /schema/context /schema/context/ /schema/tx /schema/tx/ /schema/aop /schema/aop/"> class="ataSource" init-method="init" destroy-method="close"> 13 SSI框架 SSI框架配置详细步骤 value="20" /> class="sionFactoryBean"> value="classpath:config/" /> value="classpath:com/xxx/dao/mapping/**/*.xml" /> value="sqlSessionFactory" /> class="urceTransactionManager"> 14 SSI框架 SSI框架配置详细步骤 transaction-manager="transactionManager"> expression="execution(* e..*Impl.*(..))" /> advice-ref="transactionAdvice" />
3.3.4 配置
该文件主要进行自动注入,配置文件引入等配置,如下所示:
xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/schema/beans 15 xmlns:context="/schema/context" SSI框架 SSI框架配置详细步骤 /schema/beans/ /schema/context /schema/context/ "> location="classpath:config/ties" />
3.3.5 配置
该文件主要进行mybatis配置,如下所示:
PUBLIC "-////DTD Config 3.0//EN"
"/dtd/">
16
SSI框架 SSI框架配置详细步骤
3.3.6 创建实体model
创建一个用户实体,通过用户名和密码登录系统。
17
SSI框架 SSI框架配置详细步骤
package ;
import izable;
/**
* 影院店铺信息表
*
* @author author
* @date 2016/02/16
*/
public class SmiShopInfo implements Serializable{
private String shopNo;
private String shopName;
private String shopType;
private String shopPassword;
private String note;
public String getShopName() {
return shopName;
public void setShopNo(String shopNo) {
}
= shopNo;
public String getShopNo() {
}
return shopNo;
public void setId(Integer id) {
}
= id;
public Integer getId() {
}
return id;
private Integer id;
private static final long serialVersionUID = -245519L;
18
SSI框架 SSI框架配置详细步骤
}
}
public void setShopName(String shopName) {
}
public String getShopType() {
}
public void setShopType(String shopType) {
}
public String getShopPassword() {
}
public void setShopPassword(String shopPassword) {
}
public String getNote() {
}
public void setNote(String note) {
}
= note;
return note;
ssword = shopPassword;
return shopPassword;
pe = shopType;
return shopType;
me = shopName;
3.3.7 创建实例化dao
创建实例化dao接口,及映射关系以及实现,如下所示:
19
SSI框架 SSI框架配置详细步骤
package ;
import ;
import pInfo;
/**
* 影院店铺信息映射关系
* 数据实例化接口
*
* @author author
* @date 2016/02/16
*/
public interface SmiShopInfoMapper {
}
/**
* 根据门店编码和密码获取门店信息
*
* @param password
* 门店密码
* @param shopNo
* 门店编码
*/
public SmiShopInfo getByNoAndPwd(@Param("password") String password,
@Param("shopNo") String shopNo);
"/dtd/" >
jdbcType="VARCHAR" /> jdbcType="VARCHAR" /> 20 SSI框架 SSI框架配置详细步骤 jdbcType="VARCHAR" /> id, shop_no, shop_name, shop_type, shop_password, note select from smi_shop_info where shop_no = #{shopNo,jdbcType=VARCHAR} and shop_password = #{password,jdbcType=VARCHAR} 3.3.8 创建业务服务service 创建业务服务接口,及实现,如下所示: package e; import pInfo; 21 SSI框架 SSI框架配置详细步骤 /** * 影院店铺信息接口服务 * * @author author * @date 2016/02/16 */ public interface ISmiShopInfoService { } /** * 根据店铺的编码和密码查询店铺信息 * @param shopNo 店铺编码 * @param password 密码 * @return 店铺信息 * @throws Exception */ public SmiShopInfo getShopByNoAndPwd(String shopNo, String password) throws Exception; package ; import ; import red; import e; import pInfoMapper; import pInfo; import opInfoService; /** * 影院店铺信息接口服务实现 * * @author author * @date 2016/02/16 */ @Service("smiShopInfoService") public class SmiShopInfoService implements ISmiShopInfoService { private Logger logger = ger(ss()); @Autowired 22 SSI框架 SSI框架配置详细步骤 } public SmiShopInfoMapper shopInfoMapper; @Override public SmiShopInfo getShopByNoAndPwd(String shopNo, String password) } if (null==shopNo||"".equals(shopNo)) { ("门店编码为null或空,请检查!"); throw new Exception("门店编码为空"); } return oAndPwd(password, shopNo); throws Exception { 3.3.9 创建控制层controller 创建控制层,以及vo,提供给页面异步调用,前端采用ajax调用,如下所示: package ller; import rvletRequest; import rvletResponse; import ; import red; import ller; 23 SSI框架 SSI框架配置详细步骤 import tMapping; import seBody; import foVO; import pInfo; import opInfoService; /** * 影院店铺信息action * * @author author * @date 2016/02/16 */ @Controller public class ShopInfoAction { private Logger logger = ger(ss()); @Autowired private ISmiShopInfoService smiShopInfoService; /** * 用户登录 * * @ResponseBody 设置该参数,指定response的type为比如json或xml,本文采用json序列化方式传输数据 * * @param request * @param response * @param shopNo * @param password * @return * @throws Exception */ 24 SSI框架 SSI框架配置详细步骤 @RequestMapping(value = "/") public @ResponseBody ShopInfoVO login(HttpServletRequest request,HttpServletResponse response,String shopNo,String password) throws Exception { SmiShopInfo shopInfo = pByNoAndPwd(shopNo, password); } } if(null==shopInfo||"".equals(shopInfo)){ (shopNo+":登录失败,用户名或密码错误"); return null; }else{ } ShopInfoVO vo = new ShopInfoVO(); (()); pNo(pNo()); pName(pName()); pPassword("");//密码不传输到页面 pType(pType()); e(e()); (pName()+"["+shopNo+"]:登录成功"); return vo; 序列化成json文件,提供给页面使用 package bject; import rialize; import ent; 25 SSI框架 SSI框架配置详细步骤 /** * 影院店铺信息vo * * @author author * @date 2016/02/16 */ @Component @JsonSerialize public class ShopInfoVO { private Integer id; private String shopNo; private String shopName; private String shopType; private String shopPassword; private String note; /** * @return the id */ public Integer getId() { } /** * @param id the id to set */ public void setId(Integer id) { } /** * @return the shopNo */ public String getShopNo() { } return shopNo; = id; return id; 26 SSI框架 SSI框架配置详细步骤 /** * @param shopNo the shopNo to set */ public void setShopNo(String shopNo) { = shopNo; } /** * @return the shopName */ public String getShopName() { return shopName; } /** * @param shopName the shopName to set */ public void setShopName(String shopName) { me = shopName; } /** * @return the shopType */ public String getShopType() { return shopType; } /** * @param shopType the shopType to set */ public void setShopType(String shopType) { pe = shopType; } /** * @return the shopPassword */ public String getShopPassword() { 27 SSI框架 SSI框架配置详细步骤 } return shopPassword; /** * @param shopPassword the shopPassword to set */ public void setShopPassword(String shopPassword) { ssword = shopPassword; } /** * @return the note */ public String getNote() { return note; } /** * @param note the note to set */ public void setNote(String note) { = note; } } 3.3.10 页面代码 页面采用ajax调用后台服务,如下所示: 28 SSI框架 SSI框架配置详细步骤 3.3.10.1 @charset "utf-8"; html {font-size:62.5%;} body {font-size:1.6rem; font-family:"microsoft yahei" ,"arial, helvetica, sans-serif";} body, div, ul, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { padding:0;margin:0;} ul,li{ list-style: none;list-style-type:none;} .login .hd {background:-webkit-gradient(linear,0 0,0 100%,from(#f8f8f8),to(#e6e6e6)); height:45px; -webkit-box-shadow:0 1px 1px 0 #c4c4c4; text-align:center; line-height:45px; font-weight:bold; position:relative;} .login .hd .back_shop{ display:block; position:absolute; top:14px; left:12px; border:8px solid transparent; border-right:8px solid #ef2185; width:0; height:0; content: ' '}.login .bd {margin:12px 20px;} .login .bd .item {height:40px;} .login .bd label {display:inline-block; width:80px;} .login .bd input {background:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#fdfdfd)); border:solid 1px #DDD;-webkit-appearance:none;border-top-color:#bbb; height:33px;-webkit-box-sizing:border-box;box-sizing:border-box; width:100%; font-size:1.3rem; padding:0 2%;} .login .ft {margin:0 20px;} .login .ft .btnLogin {font-size:20px; background:#ef2185; height:40px; text-align:center; border:0; color:#fff; text-shadow:0 -1px 0 #8E5244;-webkit-box-shadow:0 -1px 0 #bf3210 inset; width:100%;} #msg {width:300px; background:#000; border-radius:0 0 5px 5px; line-height:30px; color:#fff; text-align:center; position:fixed; left:50%; margin:0 0 0 -150px; top:0; z-index:100; opacity:0.8} .slidedown { } @keyframes fromtop { } @-webkit-keyframes fromtop { } .slideup { animation:totop 0.5s ease; from {-webkit-transform:translateY(-100%)} from {transform:translateY(-100%)} animation:fromtop 0.5s ease; -webkit-animation:fromtop 0.5s ease; 29 SSI框架 SSI框架配置详细步骤 } -webkit-animation:totop 0.5s ease; @keyframes totop { } @-webkit-keyframes totop { } to {-webkit-transform:translateY(-100%)} to {transform:translateY(-100%)} 3.3.10.2 maximum-scale=1.0, user-scalable=no">
id="username" placeholder="请输入门店编号" />
id="password" placeholder="请输入密码" />
class="btnLogin" />
3.3.10.3
//初始化数据
$(document).ready(function(){
//登录
$("#btnLogin").click(function(){
var username = $('#username').val();
var password = $('#password').val();
if (isNull(username)) {
var username = getLocalStorage("username");
if(!isNull(username)){
}
$('#username').val(username);
});
showmsg("请输入门店编号");
return false;
}
if (isNull(password)) {
showmsg("请输入您的密码");
31
SSI框架 SSI框架配置详细步骤
return false;
}
//加密
password = $.md5(password);
showLoadingDialog("登录中,请稍后...");
$.ajax({
type: "POST",
async: true,
url: ctx + "/",
data: {"shopNo":username,"password":password},
error: function(){
hideLoadingDialog();
showmsg("登录异常");
},
success: function(res){
}
hideLoadingDialog();
if(!isNull(res)){
//();
//(res);
clearLocalStorage();
setLocalStorage("username",);//用于记住用户名,不setLocalStorage("shopNo",);
setLocalStorage("shopId",);
setLocalStorage("shopInfo",ify(res));
showmsg("恭喜你,登录成功!");
清除
} else {
showmsg("用户名或密码错误");
}
});
});
3.3.10.4
var ctx = '/SpringMvc-web';
var LOCAL_STORAGE_KEY_PREFIX = "smi_local_storage";
var storage = torage;
32
SSI框架 SSI框架配置详细步骤
function getLocalStorage(key) {
var value = m(LOCAL_STORAGE_KEY_PREFIX + key);
if (value == "" || value == null || value == undefined) {
return "";
}
return value;
}
function setLocalStorage(key, value) {
m(LOCAL_STORAGE_KEY_PREFIX + key, value);
}
function clearLocalStorage(){
}
function removeStorage(key) {
Item(LOCAL_STORAGE_KEY_PREFIX + key);
}
function removesStorage(key) {
Item(LOCAL_STORAGE_KEY_PREFIX + key);
}
var dic = new Object();
nData = function (serviceCode, methodName) {
return mData(serviceCode, methodName);
};
mData = function (serviceCode, methodName, formId) {
var obj = new Object();
if (formId) {
var formData = $('#' + formId).serializeArray();
for (var index = 0; index < ; index++) {
var p = formData[index];
if (obj[p["name"]] == undefined) {
obj[p["name"]] = p["value"];
}else {
obj[p["name"]] += ',' + p["value"];
}
//保留登录用户名
var username = getLocalStorage("username");
();
setLocalStorage("username",username);
33
SSI框架 SSI框架配置详细步骤
}
}
obj['serviceCode'] = serviceCode;
obj['method'] = methodName;
return obj;
};
//ajax 方法封装
xData = function (type, param, success, error, beforesend,
complete) {
$.ajax({
type: type,
url: ctx_url,
data: param,
dataType: 'json',
success: (success == "" || success == undefined) ? (function ()
{
}) : success,
beforeSend: (beforesend == "" || beforesend == undefined) ?
(function () {
}) : success,
complete: (complete == "" || complete == undefined) ? (function
() {
}) : complete,
error: (error == "" || error == undefined) ? (function () {
}) : error
});
};
//显示加载提示框
function showLoadingDialog(value){
if ($("#mask-loading").size()==0){
var style="border-radius: 5px; color: #FFF; font-size: 16px;width:
60%;background: rgba(98, 98, 98, 0.8) none repeat scroll 0
0 !important;background: #000;position: fixed;left: 20%;top: 45%;z-index:
9999;padding: 10px;box-sizing: border-box;text-align: center;";
var content;
if(isNull(value)){
content = "正在加载中...";
}else{
content = value;
}
34
SSI框架 SSI框架配置详细步骤
$().append("
id='mask-loading'>
"/pages/images/'/>" + content + "
}
}
//提示框
function showToast(text) {
if ($("#mask-toast").size()==0){
var style="border-radius: 8px; color: #FFF; font-size: 16px;width:
50%;background: rgba(98, 98, 98, 0.8) none repeat scroll 0
0 !important;background: #000;position: fixed;left: 30%;top: 45%;z-index:
19999;padding: 10px;box-sizing: border-box;text-align: center;";
$().append("
+ text + "
}
//隐藏加载提示框
function hideLoadingDialog() {
}
//校验是否为空
function isNull(value) {
if (value == undefined || value == null || value == "") {
return true;
} else {
return false;
}
}
//电话号码校验
function isMobile(value) {
var mobile = /^1d{10}$|^0d{2,3}-?d{7,8}(-?d{1,4})?$/;
return (value);
}
//解析序列化时间
function formatTime(val) {
var re = /-?d+/;
$("#mask-loading").remove();
}
setTimeout(function(){
$("#mask-toast").remove();
},3000);
35
SSI框架 SSI框架配置详细步骤
var m = (val);
var d = new Date(parseInt(m[0]));
return ("yyyy-MM-dd hh:mm");
}
//格式化时间
= function (format){
var o = {
"M+": th() + 1, //month
"d+": e(), //day
"h+": rs(), //hour
"m+": utes(), //minute
"s+": onds(), //second
"q+": ((th() + 3) / 3), //quarter
"S": liseconds() //millisecond
};
if (/(y+)/.test(format)){
format = e(RegExp.$1,(lYear() + "").substr(4
- RegExp.$));
}
for (var k in o){
if (new RegExp("(" + k + ")").test(format)){
}
}
return format;
};
//跳转链接地址
function goToPage(url){
}
//跳转登录
function goToLogin(){
}
//退出系统
function loginout(){
clearLocalStorage();
= ctx+"/pages/";
}
36
format = e(RegExp.$1,RegExp.$ == 1 ?
o[k] :("00" + o[k]).substr(("" + o[k]).length));
= url;
= ctx+"/pages/";
SSI框架 SSI框架配置详细步骤
3.3.11 启动项目
3.3.11.1 编译项目
左键选中项目,点击菜单的project,然后点击clean,编译项目
3.3.11.2 部署项目
右键eclipse的server下的tomcat,(需要先配置好tomcat)
添加项目到server
完成后,右键点击server下的tomcat,clean以及publish
37
SSI框架 SSI框架配置详细步骤
看到状态为synchronized时,启动项目。
查看后台日志,如下所示:
用户名密码正确,查看后台日志:
通过测试,SSI框架搭建成功!
备注:调试过程中,若有异常,可把错误信息复制给度娘找解决方案,多数情况是缺包,或者配置文件导致,恭祝大家学习愉快!
38
版权声明:本文标题:SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1705064995a471813.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论