SSM工程搭建-Jar包方式
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框架,用博文写记录下来。第一次写博文,请指正,谢谢。