SSM工程搭建一般采用两种方式,一种是直接使用Jar包进行搭建,一种是使用maven仓库进行搭建。本博文则采用Jar方式进行搭建,整体的项目框架如下:
本博文主要说明三个问题:
1.SSM的Jar包的管理
2.SSM工程的搭建
3.SSM简单的测试
1、SSMJar包的管理
本博文中SSM的Jar包是自定义的SSMJar包,UserLibrary里面添加,具体步骤如下:
具体的SSM的Jar包在百度云盘中,下载下来放在电脑中任意的位置,个人建议放在常用的jar包中即可,百度云盘的地址:链接:https://pan.baidu.com/s/1jqkpsJU60E8KPQTNfBzsDA 密码:3x03,按照上述步骤设置完UseLibrary即可。设置完成后添加UseLibrary引用会出现一个单独的文件夹
2.SSM工程的搭建
SSM工程的搭建,说白了就是SSM工程之间的整合,在此整合如下:主要是Mybatis—SqlMapConfig,Spring-applicationContext-dao、applicationContext-service、springmvc,以及jdbc、log4j、web.xml等配置文件
2.1 log4j日志配置文件如下:
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
2.2 SqlMapConfig配置文件如下:
<?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>
<package name="com.jeff.demo.pojo"/>
</typeAliases>
</configuration>
2.3 applicationContext-dao配置文件:
#数据库设置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
applicationContext-dao:
<!-- 配置 读取properties文件 jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 配置 数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- 配置SqlSessionFactory -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 设置MyBatis核心配置文件 -->
<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />
<!-- 设置数据源 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置Mapper扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 设置Mapper扫描包 -->
<property name="basePackage" value="com.jeff.demo.mapper" />
</bean>
2.4 applicationContext-service配置文件:
<!-- 配置Service扫描 -->
<context:component-scan base-package="com.jeff.demo.service" />
2.5 springmvc配置文件:
<!-- 配置Controller扫描 --> <context:component-scan base-package="com.jeff.demo.controller" /> <!-- 配置注解驱动 --> <mvc:annotation-driven /> <!-- 对静态资源放行 --> <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/js/" mapping="/js/**"/> <!-- 配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/jsp/" /> <!-- 后缀 --> <property name="suffix" value=".jsp" /> </bean>
2.6 web.xml配置文件
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>ssm-jar</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 配置spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
<!-- 配置监听器加载spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置过滤器,解决post的乱码问题 -->
<filter>
<filter-name>encoding</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>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置SpringMVC -->
<servlet>
<servlet-name>ssm-jar</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc.xml</param-value>
</init-param>
<!-- 配置springmvc什么时候启动,参数必须为整数 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ssm-jar</servlet-name>
<!-- 所有的请求都进入springMVC -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3.SSM简单的测试
将步骤1和2配置完成后,SSM简单的框架已经全部配置完毕,可以在此基础上进行简单的开发了。本博文测试最为简单的登录,在数据库中建立一张表为user表,内部两个字段username和password,前台jsp页面输入用户名和密码,判断是否登录成功,登录成功则跳转到success.jsp页面,登录失败则跳转到error.jsp页面,整体框架如下:
3.1 Tbuser内部代码:
private int uid;
private String username;
private String password;
省去get和set方法,需要添加上get和set方法
3.2 TbUserMapper.java
public interface TbUserMapper {
List<TbUser> findUserByName(String username) throws Exception;
}
3.3 TbUserMapper.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.jeff.demo.mapper.TbUserMapper">
<!-- 根据用户名查询用户信息 -->
<select id="findUserByName" parameterType="String"
resultType="com.jeff.demo.pojo.TbUser">
SELECT * from t_user where username=#{username}
</select>
</mapper>
3.4 LoginService
public interface LoginService {
boolean login(String username,String password) throws Exception;
}
3.5 LoginServiceImpl
@Service
public class LoginServiceImpl implements LoginService {
@Autowired
private TbUserMapper tbUserMapper;
@Override
public boolean login(String username, String password) throws Exception {
// TODO Auto-generated method stub
List<TbUser> list = tbUserMapper.findUserByName(username);
if(list == null || list.size() == 0){
return false;
}
TbUser tbUser = list.get(0);
if(!tbUser.getPassword().equals(password)){
return false;
}
return true;
}
}
3.6 LoginController
@Controller
public class LoginController {
@Autowired
private LoginService loginService;
@RequestMapping("/")
public String show(){
return "index";
}
@RequestMapping("/login")
public String login(String username,String password) throws Exception{
boolean login = loginService.login(username, password);
if(login){
return "success";
}else {
return "error";
}
}
}
3.7 Index.jsp
<body> <form action="${pageContext.request.contextPath }/login" method="post"> 用户名:<input type="text" name="username"/><br/> 密码:<input type="text" name="password"/><br/> <input type="submit" value="登录"/> </form> </body>
3.8 运行
输入用户名和密码,判断是否登录成功
4.结尾
本博文,主要是一整套搭建SSM框架,平常在工作中很少有机会搭建一整套的SSM框架,用博文写记录下来。第一次写博文,请指正,谢谢。