`

项目搭建流程

阅读更多

1、添加jar包

(1)Spring依赖包
spring-aop-4.1.5.RELEASE.jar
spring-beans-4.1.5.RELEASE.jar
spring-context-4.1.5.RELEASE.jar
spring-core-4.1.5.RELEASE.jar
spring-expression-4.1.5.RELEASE.jar
spring-jdbc-4.1.5.RELEASE.jar
spring-tx-4.1.5.RELEASE.jar
spring-web-4.1.5.RELEASE.jar
spring-webmvc-4.1.5.RELEASE.jar

(2)dbcp连接池依赖包
commons-dbcp-1.2.1.jar
commons-lang3-3.1.jar
commons-pool-1.2.jar
commons-collections-3.1.jar
commons-logging-1.1.3.jar

(3)添加mysql驱动包
mysql-connector-java-5.1.6-bin.jar

 

2、搭建框架的结构

 

 3、配置applicationContext.xml

<?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:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans   
  http://www.springframework.org/schema/beans/spring-beans.xsd  
  http://www.springframework.org/schema/context   
  http://www.springframework.org/schema/context/spring-context-4.0.xsd">

	<!-- 配置自动扫描的包,以单例模式创建对象 -->
	<!-- @Component:所有受Spring管理组件的通用形式。-->
	<!-- @Repository:持久化层。				-->
	<!-- @Service:服务层。						-->
	<!-- @Controller:表现层。					-->
	<context:component-scan base-package="com.tz.dao" />
	<context:component-scan base-package="com.tz.service" />
	
	<!-- 配置dbcp数据库连接池 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/tzspring?useUnicode=true&amp;characterEncoding=utf8" />
		<property name="username" value="root" />
		<property name="password" value="root" />
	</bean>

	<!-- 配置JdbcTemplate模板 -->
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<!-- 配置NamedParameterJdbcTemplate模板 -->
	<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
		<constructor-arg ref="dataSource" />
	</bean>
	
	<!-- 配置SimpleJdbcTemplate模板 -->
	<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
		<constructor-arg ref="dataSource" />
	</bean>
	
</beans>

 

4、配置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_3_0.xsd"
	id="WebApp_ID" version="3.0">

	<!-- 配置加载applicationContext.xml的位置 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>

	<!-- 启动Web容器时,自动装配ApplicationContext的配置信息 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 配置编码过滤器 -->
	<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>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 注册SpringMVC的分发器 -->
	<servlet>
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 配置SpringMVC配置文件的位置和名称 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/config/dispatcher-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- 默认访问页面 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 

5、配置dispatcher-servlet.xml

<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/util 
       http://www.springframework.org/schema/util/spring-util-3.0.xsd 
       http://www.springframework.org/schema/mvc 
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">

	<!-- 配置自动扫描的包,SpringMVC不是以单例模式创建对象 -->
	<context:component-scan base-package="com.tz.web" />

	<!-- 配置视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/WEB-INF/page/" />
		<property name="suffix" value=".jsp" />
	</bean>

</beans>

 

6、创建数据库表结构

--创建数据库
drop database if exists tzspring;
create database tzspring;
--创建tz_user表结构
drop table if exists tz_user;
create table tz_user (
  id int(11) not null auto_increment,
  username varchar(100) default '',
  password varchar(100) default '',
  age int(11) default null,
  address varchar(255) default '',
  email varchar(100) default null,
  create_time timestamp null default current_timestamp on update current_timestamp,
  primary key (id)
) engine=innodb default charset=utf8;

 

7、创建com.tz.model.UserBean.java

package com.tz.model;

import java.util.Date;

/**
 * 用户信息 
 * 创建人:LiPiaoShui
 * 时间:2015年12月7日-下午4:44:15
 * @version 1.0.0
 */
public class UserBean {
	
	private Integer id;
	private String username;
	private String password;
	private Integer age;
	private String address;
	private String email;
	private Date createTime;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	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;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	@Override
	public String toString() {
		return "UserBean [id=" + id + ", username=" + username + ", password="
				+ password + ", age=" + age + ", address=" + address
				+ ", email=" + email + ", createTime=" + createTime + "]";
	}
	
}

 

8、创建com.tz.dao.UserDao.java

package com.tz.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.tz.model.UserBean;

/**
 * 用户信息数据库操作类 
 * 创建人:LiPiaoShui
 * 时间:2015年12月7日-下午4:58:15
 * @version 1.0.0
 */
@Repository
public class UserDao {

	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	/**
	 * 查询全部用户信息 
	 * 方法名:findUser
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:09:20
	 * @return List<UserBean> 
	 * @since 1.0.0
	 */
	public List<UserBean> findUser() {
		String sql = "select id,username,password,age,address,email,create_time from tz_user";
		List<UserBean> userList = jdbcTemplate.query(sql, new RowMapper() {
			@Override
			public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
				UserBean user = new UserBean();
				user.setId(rs.getInt("id"));
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				user.setAge(rs.getInt("age"));
				user.setAddress(rs.getString("address"));
				user.setEmail(rs.getString("email"));
				user.setCreateTime(new Date(rs.getTimestamp("create_time").getTime()));
				return user;
			}

		});
		return userList;
	}
	
	/**
	 * 保存用户信息
	 * 方法名:saveUser
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:49:28
	 * @param userBean
	 * @return
	 * @return boolean 
	 * @since 1.0.0
	 */
	public boolean saveUser(UserBean userBean) {
		String sql = "insert into tz_user(username,password,age,address,email) values(?,?,?,?,?)";
		int count = jdbcTemplate.update(sql, userBean.getUsername(),
				userBean.getPassword(), userBean.getAge(),
				userBean.getAddress(), userBean.getEmail());
		return count > 0 ? true : false;
	}
	
}

 

9、创建com.tz.service.UserService.java

package com.tz.service;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tz.dao.UserDao;
import com.tz.model.UserBean;

/**
 * 用户信息业务处理类
 * 创建人:LiPiaoShui
 * 时间:2015年12月7日-下午5:14:51
 * @version 1.0.0
 */
@Service
public class UserService {

	@Autowired
	private UserDao userDao;
	
	/**
	 * 查询全部用户信息
	 * 方法名:findUser
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:16:19
	 * @return
	 * @return List<UserBean> 
	 * @since 1.0.0
	 */
	public List<UserBean> findUser() {
		return userDao.findUser();
	}
	
	/**
	 * 保存用户信息
	 * 方法名:saveUser
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:52:34
	 * @param userBean
	 * @return
	 * @return boolean 
	 * @since 1.0.0
	 */
	public boolean saveUser(UserBean userBean) {
		return userDao.saveUser(userBean);
	}
}

 

10、创建com.tz.web.UserController.java

package com.tz.web;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.tz.model.UserBean;
import com.tz.service.UserService;

/**
 * 用户控制器 
 * 创建人:LiPiaoShui
 * 时间:2015年12月7日-下午4:55:31
 * @version 1.0.0
 */
@Controller
@RequestMapping("user")
public class UserController {

	@Autowired
	private UserService userService;
	
	/**
	 * 查询全部用户信息 
	 * 方法名:findUser
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:20:44
	 * @return
	 * @return ModelAndView 
	 * @since 1.0.0
	 */
	@RequestMapping("userList")
	public ModelAndView findUser() {
		ModelAndView modelAndView = new ModelAndView();
		List<UserBean> userList = userService.findUser();
		modelAndView.addObject("userList", userList);
		modelAndView.setViewName("userList");
		return modelAndView;
	}
	
	/**
	 * 添加用户页面
	 * 方法名:userSavePre
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:39:35
	 * @return
	 * @return ModelAndView 
	 * @since 1.0.0
	 */
	@RequestMapping("userSavePre")
	public ModelAndView userSavePre() {
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.setViewName("userSavePre");
		return modelAndView;
	}
	
	/**
	 * 保存用户信息
	 * 方法名:userSave
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月7日-下午5:54:37
	 * @param userBean
	 * @return
	 * @return ModelAndView 
	 * @since 1.0.0
	 */
	@RequestMapping("userSave")
	public ModelAndView userSave(UserBean userBean) {
		ModelAndView modelAndView = new ModelAndView();
		boolean flag = userService.saveUser(userBean);
		if(flag) {
			modelAndView.setViewName("success");
		} else {
			modelAndView.setViewName("fail");
		}
		return modelAndView;
	}
}

 

11、创建/WebRoot/WEB-INF/page/userList.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String root = request.getContextPath();
%>
<html>
  <head>
    <title>用户信息列表</title>
  </head>
  <body>
  	<a href="<%=root%>/user/userSavePre">添加用户</a></br></br>
    <table border="1">
    	<thead>
    		<tr>
    			<td>用户ID</td>
    			<td>用户姓名</td>
    			<td>用户密码</td>
    			<td>用户年龄</td>
    			<td>用户地址</td>
    			<td>用户邮箱</td>
    			<td>创建时间</td>
    		</tr>
    	</thead>
    	<tbody>
    		<c:forEach items="${userList }" var="user">
    			<tr>
    				<td>${user.id }</td>
    				<td>${user.username }</td>
    				<td>${user.password }</td>
    				<td>${user.age }</td>
    				<td>${user.address }</td>
    				<td>${user.email }</td>
    				<td>${user.createTime }</td>
    			</tr>
    		</c:forEach>
    	</tbody>
    </table>
  </body>
</html>

 

 

 

12、创建/WebRoot/WEB-INF/page/userSavePre.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String root = request.getContextPath();
%>
<html>
  <head>
    <title>添加用户页面</title>
  </head>
  <body>
  	<form action="<%=root %>/user/userSave" method="post">
  		<table>
  			<tr>
  				<td>用户姓名</td>
  				<td><input type="text" name="username"/></td>
  			</tr>
  			<tr>
  				<td>用户密码</td>
  				<td><input type="password" name="password"/></td>
  			</tr>
  			<tr>
  				<td>用户年龄</td>
  				<td><input type="text" name="age"/></td>
  			</tr>
  			<tr>
  				<td>用户地址</td>
  				<td><input type="text" name="address"/></td>
  			</tr>
  			<tr>
  				<td>用户邮箱</td>
  				<td><input type="text" name="email"/></td>
  			</tr>
  			<tr>
  				<td colspan="2"><input type="submit" value="提交"/></td>
  			</tr>
  		</table>
  	</form>
  </body>
</html>

 

 

 

 

  • 大小: 34.9 KB
  • 大小: 28.5 KB
  • 大小: 22.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics