使用SSM框架可以快速的实现我们需求,在实际的项目中,SSM框架作为后天开发是非常常见的。本文将介绍怎样将三者结合起来,以便应用到后续的开发。
整个工程目录如下:
1 新建一个Maven工程项目,此处不再详细叙述。
2 在maven的配置文件中添加项目中需要的依赖。具体的配置如下图所示:
4.0.0
com.ssm
maven_ssm
war
0.0.1-SNAPSHOT
maven_ssm Maven Webapp
http://maven.apache.org
4.0.2.RELEASE
3.2.8
1.7.12
1.2.17
junit
junit
4.11
test
javax
javaee-api
7.0
org.springframework
spring-test
${srping.version}
org.springframework
spring-core
${srping.version}
org.springframework
spring-oxm
${srping.version}
org.springframework
spring-tx
${srping.version}
org.springframework
spring-jdbc
${srping.version}
org.springframework
spring-aop
${srping.version}
org.springframework
spring-context
${srping.version}
org.springframework
spring-context-support
${srping.version}
org.springframework
spring-expression
${srping.version}
org.springframework
spring-orm
${srping.version}
org.springframework
spring-web
${srping.version}
org.springframework
spring-webmvc
${srping.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
mysql
mysql-connector-java
5.1.35
commons-dbcp
commons-dbcp
1.4
jstl
jstl
1.2
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
com.alibaba
fastjson
1.2.6
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.10
org.apache.maven.plugins
maven-compiler-plugin
2.3.2
1.8
UTF-8
maven_ssm
这其中主要是对项目中所需要的Spring ,SpringMVC,和Mybatis的jar包进行配置。
3 对数据库进行配置,在db.properties中进行如下的配置。
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/user
db.username=root
db.password=root
db.initialSize=0
db.maxActive=20
db.maxIdle=20
db.minIdle=1
db.maxWait=60000
4 配置Spring.xml文件
5 配置web.xml文件
test-hd-
index.jsp
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:spring.xml
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring.xml
springmvc
*.do
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
*.do
至此,项目所需要的主要的配置文件都已经配置好了,接下来用一个用户登录注册的实例来进行实验。
6 用户登录注册实验
6.1 dao层设计。
定义持久层接口:
public interface UserDao {
public void addUser(User user);
public User findUser(Map map);
}
mybatis配置文件User.xml配置
SELECT LAST_INSERT_ID()
insert into t_user(id,username,password)
values(#{id},#{username},#{password})
service层接口设计
public interface UserService {
public void register(User user);
public User login(String username,String password);
}
具体方法实现
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void register(User user) {
userDao.addUser(user);
}
@Override
public User login(String username, String password) {
Mapmap=new HashMap();
map.put("username", username);
map.put("password", password);
return userDao.findUser(map);
}
}
Controller层实现
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("register")
public String register(User user,Model model) {
System.out.println("用户注册:"+user.getUsername()+user.getPassword());
userService.register(user);
model.addAttribute("msg", "注册成功");
//注册成功后跳转success.jsp页面
return "success";
}
@RequestMapping("login")
public String login(String username,String password,Model model) {
User u=userService.login(username, password);
if(u.getUsername().equals(username)&&u.getPassword().equals(password)) {
return "success";
}
return "error";
}
}
用户注册页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
用户注册
用户登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
用户登录