Mvc And Spring And Jdbc

 

 

applicationContext-jdbc.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:aop="http://www.springframework.org/schema/aop"  
        xmlns:p="http://www.springframework.org/schema/p"  
        xmlns:tx="http://www.springframework.org/schema/tx"  
        xmlns:context="http://www.springframework.org/schema/context"  
        xsi:schemaLocation="   
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
            http://www.springframework.org/schema/context 
            http://www.springframework.org/schema/context/spring-context.xsd">  
    <!--
    	使spring扫描包下的所有类,让标注spring注解的类生效 
    	若扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean
    -->
    <context:component-scan base-package="cn.bdqn.service"/>
    <context:component-scan base-package="cn.bdqn.dao"/>
</beans>

database.properties 配置文件

driver=com.mysql.cj.jdbc.Driver
#在和mysql传递数据的过程中,使用unicode编码格式,字符集设置为utf-8,并根据需要设置时区
url=jdbc:mysql://127.0.0.1:3306/cvs_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
user=root
password=123.com

log4j.properties 日志文件

log4j.rootLogger=debug,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING_FILE

log4j.logger.cn.cvs=debug
log4j.logger.org.apache.ibatis=debug
log4j.logger.org.mybatis.spring=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug

######################################################################################
# Console Appender  \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=debug
log4j.appender.CONSOLE.DatePattern=yyyy-MM-dd
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n



######################################################################################
# Rolling File  \u6587\u4ef6\u5927\u5c0f\u5230\u8fbe\u6307\u5b9a\u5c3a\u5bf8\u7684\u65f6\u5019\u4ea7\u751f\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6
######################################################################################
#log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#log4j.appender.ROLLING_FILE.Threshold=INFO
#log4j.appender.ROLLING_FILE.File=${baojia.root}/logs/log.log
#log4j.appender.ROLLING_FILE.Append=true
#log4j.appender.ROLLING_FILE.MaxFileSize=5000KB
#log4j.appender.ROLLING_FILE.MaxBackupIndex=100
#log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n

######################################################################################
# DailyRolling File  \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=${CVS_C10_09.root}/logs/log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=debug
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n

#DWR \u65e5\u5fd7
#log4j.logger.org.directwebremoting = ERROR

#\u663e\u793aHibernate\u5360\u4f4d\u7b26\u7ed1\u5b9a\u503c\u53ca\u8fd4\u56de\u503c
#log4j.logger.org.hibernate.type=DEBUG,CONSOLE 

#log4j.logger.org.springframework.transaction=DEBUG
#log4j.logger.org.hibernate=DEBUG
#log4j.logger.org.acegisecurity=DEBUG
#log4j.logger.org.apache.myfaces=TRACE
#log4j.logger.org.quartz=DEBUG

#log4j.logger.com.opensymphony=INFO  
#log4j.logger.org.apache.struts2=DEBUG  
log4j.logger.com.opensymphony.xwork2=debug

springmvc-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:mvc="http://www.springframework.org/schema/mvc"
	   xmlns:p="http://www.springframework.org/schema/p"
	   xmlns:context="http://www.springframework.org/schema/context"
	   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.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

	<mvc:annotation-driven/>

	<context:component-scan base-package="cn.bdqn.controller"/>

	<mvc:resources mapping="/statics/**" location="/statics/" />
	<!-- 完成视图的对应 -->
	<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
		<property name="prefix" value="/WEB-INF/jsp/"/>
		<property name="suffix" value=".jsp"/>
	</bean>


	<!--  全局异常处理 -->
	<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="exceptionMappings">
			<props>
				<prop key="java.lang.RuntimeException">error</prop>
			</props>
		</property>
	</bean>
</beans>

创建业务逻辑层

BasDao

package cn.bdqn.dao;

import cn.bdqn.utils.ConfigManager;

import java.sql.*;

/**
 * 操作数据库的基类--静态类
 * @author Administrator
 *
 */
public class BaseDao {

	private static BaseDao baseDao = new BaseDao();

	/**
	 * 私有化构造方法
	 */
	private BaseDao(){
		getConnection();
	}

	/**
	 * 获取BaseDao实例对象
	 * @return
	 */
	public static BaseDao getInstance(){
		return baseDao;
	}


	public static void main(String[] args) {
		getInstance();
	}

	/**
	 * 获取数据库连接对象
	 * @return
	 */
	public static Connection getConnection(){
		Connection connection = null;
		String driver = ConfigManager.getInstance().getValue("driver");
		String url = ConfigManager.getInstance().getValue("url");
		String user = ConfigManager.getInstance().getValue("user");
		String password = ConfigManager.getInstance().getValue("password");
		try {
			Class.forName(driver);
			connection = DriverManager.getConnection(url, user, password);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return connection;
	}
	/**
	 * 查询操作
	 * @param connection
	 * @param pstm
	 * @param rs
	 * @param sql
	 * @param params
	 * @return
	 */
	public static ResultSet execute(Connection connection,PreparedStatement pstm,ResultSet rs,
			String sql,Object[] params) throws Exception{
		pstm = connection.prepareStatement(sql);
		if(params!=null){
			for(int i = 0; i < params.length; i++){
				pstm.setObject(i+1, params[i]);
			}
		}

		rs = pstm.executeQuery();
		return rs;
	}
	/**
	 * 更新操作
	 * @param connection
	 * @param pstm
	 * @param sql
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public static int execute(Connection connection,PreparedStatement pstm,
			String sql,Object[] params) throws Exception{
		int updateRows = 0;
		pstm = connection.prepareStatement(sql);
		for(int i = 0; i < params.length; i++){
			pstm.setObject(i+1, params[i]);
		}
		updateRows = pstm.executeUpdate();
		return updateRows;
	}
	
	/**
	 * 释放资源
	 * @param connection
	 * @param pstm
	 * @param rs
	 * @return
	 */
	public static boolean closeResource(Connection connection,PreparedStatement pstm,ResultSet rs){
		boolean flag = true;
		if(rs != null){
			try {
				rs.close();
				rs = null;//GC回收
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				flag = false;
			}
		}
		if(pstm != null){
			try {
				pstm.close();
				pstm = null;//GC回收
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				flag = false;
			}
		}
		if(connection != null){
			try {
				connection.close();
				connection = null;//GC回收
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				flag = false;
			}
		}
		
		return flag;
	}

}

 创建ISysUserDao 接口

package cn.bdqn.dao;

import cn.bdqn.pojo.SysUser;

import java.util.List;

/**
 * dao层接口
 */
public interface ISysUserDao {
    /**
     * 根据登陆名查询用户信息
     * @param name 登陆名
     * @return 用户信息
     */
    public SysUser getSysUserByName(String name)  throws Exception;

    /**
     * 查询全部用户
     * @return 用户集合
     */
    public List<SysUser> getSysUserList()throws Exception;

    /**
     * 根据id删除用户信息
     * @param id 用户id
     * @return 返回受影响行数
     */
    public int delSysUserById(int id);

    /**
     * 新增用户
     * @param sysUser 用户对象
     * @return 受影响行数
     */
    public int insertSysUser(SysUser sysUser);

    /**
     * 根据id查询用户信息
     * @param id 用户id
     * @return 用户信息
     */
    public SysUser getSysUserById(int id);

    /**
     * 修改用户信息
     * @param sysUser 用户对象
     * @return 受影响行数
     */
    public int updateSysUser(SysUser sysUser);
}

创建SysUserDaoImpl

package cn.bdqn.dao;

import cn.bdqn.pojo.SysUser;
import org.springframework.stereotype.Repository;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

@Repository("sysUserDao")
public class SysUserDaoImpl implements ISysUserDao {
    @Override
    public SysUser getSysUserByName(String name) throws Exception{
        PreparedStatement pstm = null;
        ResultSet rs = null;
        SysUser user = null;
        String sql="SELECT * FROM t_sys_user WHERE account =?";
        Object[] params = {name};
        rs =BaseDao.execute(BaseDao.getConnection(), pstm, rs, sql, params);
        while (rs.next()){
            user = new SysUser();
            user.setId(rs.getInt("id"));
            user.setAccount(rs.getString("account"));
            user.setRealName(rs.getString("realName"));
            user.setPassword(rs.getString("password"));
            user.setSex(rs.getInt("sex"));
            user.setBirthday(rs.getDate("birthday"));
            user.setPhone(rs.getString("phone"));
            user.setAddress(rs.getString("address"));
            user.setRoleId(rs.getInt("roleId"));
            user.setCreatedUserId(rs.getInt("createdUserId"));
            user.setCreatedTime(rs.getTimestamp("createdTime"));
            user.setUpdatedUserId(rs.getInt("updatedUserId"));
            user.setUpdatedTime(rs.getTimestamp("updatedTime"));
        }
        BaseDao.closeResource(null, pstm, rs);
        return user;
    }

    @Override
    public List<SysUser> getSysUserList() throws Exception{
        List<SysUser> userList = new ArrayList<SysUser>();
        PreparedStatement pstm = null;
        ResultSet rs = null;
        SysUser user = null;
        String sql="SELECT * FROM t_sys_user";
        /*Object[] params = {null};*/
        rs =BaseDao.execute(BaseDao.getConnection(), pstm, rs, sql, null);
        while (rs.next()){
            user = new SysUser();
            user.setId(rs.getInt("id"));
            user.setAccount(rs.getString("account"));
            user.setRealName(rs.getString("realName"));
            user.setPassword(rs.getString("password"));
            user.setSex(rs.getInt("sex"));
            user.setBirthday(rs.getDate("birthday"));
            user.setPhone(rs.getString("phone"));
            user.setAddress(rs.getString("address"));
            user.setRoleId(rs.getInt("roleId"));
            user.setCreatedUserId(rs.getInt("createdUserId"));
            user.setCreatedTime(rs.getTimestamp("createdTime"));
            user.setUpdatedUserId(rs.getInt("updatedUserId"));
            user.setUpdatedTime(rs.getTimestamp("updatedTime"));
            userList.add(user);
        }
        BaseDao.closeResource(null, pstm, rs);
        return userList;
    }

    @Override
    public int delSysUserById(int id) {
        int flag =0;
        PreparedStatement pstm = null;
        String sql="delete FROM t_sys_user where id=?";
        Object[] params = {id};
        try{
            flag =BaseDao.execute(BaseDao.getConnection(), pstm, sql, params);
        }
        catch (Exception e){
            e.printStackTrace();
        }
        finally {
            BaseDao.closeResource(null, pstm, null);
        }
        return flag;
    }

    @Override
    public int insertSysUser(SysUser sysUser) {
        int flag =0;
        PreparedStatement pstm = null;
        String sql="insert into t_sys_user(account,realName,password,sex,birthday,phone,address,roleId,createdUserId,createdTime)" +
                " values(?,?,?,?,?,?,?,?,?,?)";
        Object[] params = {sysUser.getAccount(),sysUser.getRealName(),sysUser.getPassword(),sysUser.getSex(),sysUser.getBirthday(),sysUser.getPhone(),sysUser.getAddress(),sysUser.getRoleId(),sysUser.getCreatedUserId(),sysUser.getCreatedTime()};
        try{
            flag =BaseDao.execute(BaseDao.getConnection(), pstm, sql, params);
        }
        catch (Exception e){
            e.printStackTrace();
        }
        finally {
            BaseDao.closeResource(null, pstm, null);
        }
        return flag;
    }

    @Override
    public SysUser getSysUserById(int id) {
        int flag =0;
        PreparedStatement pstm = null;
        ResultSet rs = null;
        SysUser user = null;
        String sql="SELECT * FROM t_sys_user where id=?";
        Object[] params = {id};
        try{
            rs =BaseDao.execute(BaseDao.getConnection(), pstm,rs, sql, params);
            while (rs.next()){
                user = new SysUser();
                user.setId(rs.getInt("id"));
                user.setAccount(rs.getString("account"));
                user.setRealName(rs.getString("realName"));
                user.setPassword(rs.getString("password"));
                user.setSex(rs.getInt("sex"));
                user.setBirthday(rs.getDate("birthday"));
                user.setPhone(rs.getString("phone"));
                user.setAddress(rs.getString("address"));
                user.setRoleId(rs.getInt("roleId"));
                user.setCreatedUserId(rs.getInt("createdUserId"));
                user.setCreatedTime(rs.getTimestamp("createdTime"));
                user.setUpdatedUserId(rs.getInt("updatedUserId"));
                user.setUpdatedTime(rs.getTimestamp("updatedTime"));

            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
        finally {
            BaseDao.closeResource(null, pstm, null);
        }
        return user;
    }

    @Override
    public int updateSysUser(SysUser sysUser) {
        int flag =0;
        PreparedStatement pstm = null;
        String sql="update t_sys_user set account=?,realName=?,password=?,sex=?,birthday=?,phone=?,address=?,roleId=?,updatedUserId=?,updatedTime=? where id=?";
        Object[] params = {sysUser.getAccount(),sysUser.getRealName(),sysUser.getPassword(),sysUser.getSex(),sysUser.getBirthday(),sysUser.getPhone(),sysUser.getAddress(),sysUser.getRoleId(),sysUser.getUpdatedUserId(),sysUser.getUpdatedTime(),sysUser.getId()};
        try{
            flag =BaseDao.execute(BaseDao.getConnection(), pstm, sql, params);
        }
        catch (Exception e){
            e.printStackTrace();
        }
        finally {
            BaseDao.closeResource(null, pstm, null);
        }
        return flag;
    }
}

pojo 实体类

package cn.bdqn.pojo;

import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

public class SysUser {
	private Integer id; 				//id
	private String account; 			//用户编码
	private String realName; 			//用户名称
	private String password; 			//用户密码
	private Integer sex;  				//性别
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date birthday;  			//出生日期
	private String phone;   			//电话
	private String address; 			//地址
	private Integer roleId;    		//用户角色
	private Integer createdUserId;   	//创建者
	private Date createdTime;	 		//创建时间
	private Integer updatedUserId;	//更新者
	private Date updatedTime;   		//更新时间
	
	private Integer age;				//年龄
	private String roleIdName; 		//用户角色名称
	public SysUser(){}

	public SysUser(Integer id, String account, String realName, String userPassword, Integer sex, Date birthday, String phone,
                   String address, Integer roleId, Integer createdUserId, Date createdTime, Integer updatedUserId, Date updatedTime){
		this.id = id;
		this.account = account;
		this.realName = realName;
		this.password = userPassword;
		this.sex = sex;
		this.birthday = birthday;
		this.phone = phone;
		this.address = address;
		this.roleId = roleId;
		this.createdUserId = createdUserId;
		this.createdTime = createdTime;
		this.updatedUserId = updatedUserId;
		this.updatedTime = updatedTime;
	}
	public Integer getAge() {
		/*long time = System.currentTimeMillis()-birthday.getTime();
		Integer age = Long.valueOf(time/365/24/60/60/1000).IntegerValue();*/
		Date date = new Date();
		Integer age = date.getYear() - birthday.getYear();
		return age;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Integer getSex() {
		return sex;
	}

	public void setSex(Integer sex) {
		this.sex = sex;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public Integer getRoleId() {
		return roleId;
	}

	public void setRoleId(Integer roleId) {
		this.roleId = roleId;
	}

	public Integer getCreatedUserId() {
		return createdUserId;
	}

	public void setCreatedUserId(Integer createdUserId) {
		this.createdUserId = createdUserId;
	}

	public Date getCreatedTime() {
		return createdTime;
	}

	public void setCreatedTime(Date createdTime) {
		this.createdTime = createdTime;
	}

	public Integer getUpdatedUserId() {
		return updatedUserId;
	}

	public void setUpdatedUserId(Integer updatedUserId) {
		this.updatedUserId = updatedUserId;
	}

	public Date getUpdatedTime() {
		return updatedTime;
	}

	public void setUpdatedTime(Date updatedTime) {
		this.updatedTime = updatedTime;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public String getRoleIdName() {
		return roleIdName;
	}

	public void setRoleIdName(String roleIdName) {
		this.roleIdName = roleIdName;
	}
}

创建 ISysUserService

package cn.bdqn.service;

import cn.bdqn.pojo.SysUser;

import java.util.List;

/**
 * 业务层接口
 */
public interface ISysUserService {
    /**
     * 根据用户名和密码查询用户信息
     * @param name 用户名
     * @param pwd 密码
     * @return 用户信息
     */
    public SysUser loginUser(String name,String pwd);
    /**
     * 查询全部用户
     * @return 用户集合
     */
    public List<SysUser> getSysUserList();

    public boolean delSysUserById(int id);

    public boolean saveSysUser(SysUser sysUser);

    public SysUser getSysUserById(int id);

}

创建SysUserSercviceImpl

package cn.bdqn.service;

import cn.bdqn.dao.ISysUserDao;
import cn.bdqn.pojo.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

@Service("sysUserService")
public class SysUserServiceImpl implements ISysUserService {

    @Resource
    ISysUserDao sysUserDao;

    @Override
    public SysUser loginUser(String name, String pwd) {
        SysUser user =null;
        try{
            user =sysUserDao.getSysUserByName(name);
        }
        catch (Exception e){
            e.printStackTrace();
        }

        if(user!=null && pwd.equals(user.getPassword())){
            return user;
        }
        else{
            return null;
        }
    }

    @Override
    public List<SysUser> getSysUserList() {
        List<SysUser> sysUserList =null;
        try{
            sysUserList=sysUserDao.getSysUserList();
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return sysUserList;
    }

    @Override
    public boolean delSysUserById(int id) {
        boolean flag =false;
        if(sysUserDao.delSysUserById(id)>0){
            flag=true;
        }
        return flag;
    }

    @Override
    public boolean saveSysUser(SysUser sysUser) {
        boolean flag =false;
        if(sysUser.getId()>0){
            //修改
            sysUser.setUpdatedUserId(1);
            sysUser.setUpdatedTime(new Date());
            if(sysUserDao.updateSysUser(sysUser)>0){
                flag=true;
            }
        }
        else{
            // 新增
            sysUser.setCreatedUserId(1);
            sysUser.setCreatedTime(new Date());
            if(sysUserDao.insertSysUser(sysUser)>0){
                flag=true;
            }
        }
        return flag;
    }

    @Override
    public SysUser getSysUserById(int id) {
        return sysUserDao.getSysUserById(id);
    }
}

创建ConfigManger 工具包

package cn.bdqn.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

//读取配置文件的工具类-单例模式
public class ConfigManager {
	private static ConfigManager configManager = new ConfigManager();
	private static Properties properties;
	//私有构造器-读取数据库配置文件
	private ConfigManager(){
		String configFile = "database.properties";
		properties = new Properties();
		InputStream is = 
				ConfigManager.class.getClassLoader().getResourceAsStream(configFile);
		try {
			properties.load(is);
			is.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//饿汉模式
	public static ConfigManager getInstance(){
		return configManager;
	}
	
	public String getValue(String key){
		return properties.getProperty(key);
	}
}

创建jsp

add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    <form action="save.html" method="post">
      <table>
        <tr>
          <td>用户名</td>
          <input type="hidden" name="id" value="${user.id}"/>
          <td><input name="account" value="${user.account}"/></td>
        </tr>
        <tr>
          <td>密码</td>
          <td><input type="password" name="password" value="${user.password}"/></td>
        </tr>
        <tr>
          <td>姓名</td>
          <td><input name="realName" value="${user.realName}"/></td>
        </tr>
        <tr>
          <td>性别</td>
          <td>
            <input type="radio" name="sex" value="2" <c:if test="${user.sex == 2}">checked</c:if>/>男
            <input type="radio" name="sex" value="1" <c:if test="${user.sex == 1}">checked</c:if>/>女
          </td>
        </tr>
        <tr>
          <td>出生日期</td>
          <td><input name="birthday" type="date" value="${user.birthday}"/></td>
        </tr>
        <tr>
          <td>手机号</td>
          <td><input name="phone" value="${user.phone}"/></td>
        </tr>
        <tr>
          <td>用户地址</td>
          <td><input name="address" value="${user.address}"/></td>
        </tr>
        <tr>
          <td>用户角色</td>
          <td>
            <select name="roleId">

              <option value="1" <c:if test="${user.roleId == 1}">selected</c:if>>管理系统员</option>
              <option value="2" <c:if test="${user.roleId == 2}">selected</c:if>>店长</option>
              <option value="3" <c:if test="${user.roleId == 3}">selected</c:if>>店员</option>
            </select>
            </td>
        </tr>
      </table>
      <input type="submit" value="保存">
    </form>
  </body>
</html>

创建login

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    <form action="doLogin.html" method="post">
      用户名:<input name="account"/>
      密码:<input name="password" type="password"/>
      <input type="submit" value="登陆">
    </form>
  </body>
</html>

创建view.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    <form action="save.html" method="post">
      <table>
        <tr>
          <td>用户名</td>
          <td>${user.account}</td>
        </tr>
        <tr>
          <td>密码</td>
          <td>${user.password}</td>
        </tr>
        <tr>
          <td>姓名</td>
          <td>${user.realName}</td>
        </tr>
        <tr>
          <td>性别</td>
          <td>
            <c:if test="${user.sex == 2}">男</c:if>
           <c:if test="${user.sex == 1}">女</c:if>
          </td>
        </tr>
        <tr>
          <td>出生日期</td>
          <td>${user.birthday}</td>
        </tr>
        <tr>
          <td>手机号</td>
          <td>${user.phone}</td>
        </tr>
        <tr>
          <td>用户地址</td>
          <td>${user.address}</td>
        </tr>
        <tr>
          <td>用户角色</td>
          <td>

         <c:if test="${user.roleId == 1}">管理系统员</c:if>
          <c:if test="${user.roleId == 2}">店长</c:if>
           <c:if test="${user.roleId == 3}">店员</c:if>
            </td>
        </tr>
      </table>
      <input type="button" value="返回" onclick="javascript:window.history.go(-1)">
    </form>
  </body>
</html>

创建welcome.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    欢迎:${loginUser.realName},访问本网站! <br>
    <a href="add.html">添加</a><br>
    <table>
      <tr>
        <th>登录名</th>
        <th>姓名</th>
        <th>性别</th>
        <th>生日</th>
        <th>电话</th>
        <th>操作</th>
      </tr>
      <c:forEach var="user" items="${userList}">
        <tr>
          <td>${user.account}</td>
          <td>${user.realName}</td>
          <td>
            <c:if test="${user.sex==1}">
              女
            </c:if>
            <c:if test="${user.sex==2}">
              男
            </c:if>

          </td>
          <td>${user.birthday}</td>
          <td>${user.phone}</td>
          <td><a href="view.html?id=${user.id}">详细</a>&nbsp;<a href="update.html?id=${user.id}">修改</a>&nbsp;<a   onclick="return confirm('确定要删除?')" href="del.html?id=${user.id}">删除</a></td>
        </tr>

      </c:forEach>
    </table>
  </body>
</html>

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"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <display-name>springMVC</display-name>
    <welcome-file-list>
        <welcome-file>/WEB-INF/jsp/login.jsp</welcome-file>
    </welcome-file-list>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext-*.xml</param-value>
    </context-param>
    <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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
    </context-param>
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>MvcAndSringAndJDBC.root</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

测试

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值