【JavaWeb】将普通项目变成ssm项目 01

最近学习完ssm框架就打算拿之前做过的老的学生成绩管理系统来练练手。


目标

  • 导入ssm整合的所有jar包
  • 在项目里打好ssm框架
  • 创建好需要的配置文件
  • 建立数据库
  • 在项目组创建需要的持久化类

导入ssm整合的所有jar包

  • 将下表所示的所有jar包放入WEB-INF/lib文件夹下
Spring框架所需的JAR包 (10个)SpringMVC框架所需要的JAR包(2个)
aopalliance-1.0.jarspring-web-4.3.6.RELEASE.jar
aspectjweaver-1.8.10.jarspring-webmvc-4.3.6.RELEASE.jar
spring-aop-4.3.6.RELEASE.jar
spring-aspects-4.3.6.RELEASE.jar
spring-beans-4.3.6.RELEASE.jar
spring-context-4.3.6.RELEASE.jar
spring-core-4.3.6.RELEASE.jar
spring-expression-4.3.6.RELEASE.jar
spring-jdbc-4.3.6.RELEASE.jar
spring-tx-4.3.6.RELEASE.jar
MyBatis框架所需的JAR包(13个)MyBatis与Spring整合的中间JAR(1个)
ant-1.9.6.jarmybatis-spring-1.3.1.jar
ant-launcher-1.9.6.jar
asm-5.1.jar
cglib-3.2.4.jar
commons-logging-1.2.jar
javassist-3.21.0-GA.jar
log4j-1.2.17.jar
log4j-api-2.3.jar
log4j-core-2.3.jar
mybatis-3.4.2.jar
ognl-3.1.12.jar
slf4j-api-1.7.22.jar
slf4j-log4j12-1.7.22.jar
数据库驱动JAR(mysql,1个)数据源所需JAR(DBCP,2个)
mysql-connector-java-8.0.28.jarcommons-dbcp2-2.1.1.jar
commons-pool2-2.4.2.jar
JSTL标签库JAR(2个)Jackson框架所需JAR(3个)
taglibs-standard-impl-1.2.5.jarjackson-annotations-2.8.6.jar
taglibs-standard-spec-1.2.5.jarjackson-core-2.8.6.jar
jackson-databind-2.8.6.jar

在项目里打好ssm框架

在这里插入图片描述

创建好需要的配置文件

在这里插入图片描述

applicationContext.xml(spring的配置文件)

<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:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.3.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
    <!--读取db.properties -->
    <context:property-placeholder location="classpath:db.properties"/>
    <!-- 配置数据源 -->
    <bean id="dataSource" 
         class="org.apache.commons.dbcp2.BasicDataSource">
         <!--数据库驱动 -->
         <property name="driverClassName" value="${jdbc.driver}" />
         <!--连接数据库的url -->
         <property name="url" value="${jdbc.url}" />
         <!--连接数据库的用户名 -->
         <property name="username" value="${jdbc.username}" />
         <!--连接数据库的密码 -->
         <property name="password" value="${jdbc.password}" />
         <!--最大连接数 -->
         <property name="maxTotal" value="${jdbc.maxTotal}" />
         <!--最大空闲连接  -->
         <property name="maxIdle" value="${jdbc.maxIdle}" />
         <!--初始化连接数  -->
         <property name="initialSize" value="${jdbc.initialSize}" />
	</bean>
	<!-- 事务管理器 -->
	<bean id="transactionManager" class=
	"org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!-- 数据源 -->
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!-- 通知 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<!-- 传播行为 -->
			<tx:method name="save*" propagation="REQUIRED" />
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="add*" propagation="REQUIRED" />
			<tx:method name="create*" propagation="REQUIRED" />
			<tx:method name="delete*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="find*" propagation="SUPPORTS" 
                                           read-only="true" />
			<tx:method name="select*" propagation="SUPPORTS" 
                                           read-only="true" />
			<tx:method name="get*" propagation="SUPPORTS" 
                                           read-only="true" />
		</tx:attributes>
	</tx:advice>
	<!-- 切面 -->
	<aop:config>
		<aop:advisor advice-ref="txAdvice"
			 pointcut="execution(* com.stuos.core.service.*.*(..))" />
	</aop:config>
	<!-- 配置 MyBatis的工厂 -->
	<bean class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 数据源 -->
		<property name="dataSource" ref="dataSource" />
		<!-- 配置MyBatis的核心配置文件所在位置 -->
		<property name="configLocation" 
                     value="classpath:mybatis-config.xml" />
	</bean>
	<!-- 接口开发,扫描 com.stuos.core.dao包 ,写在此包下的接口即可被扫描到 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.stuos.core.dao" />
	</bean>
	<!-- 配置扫描@Service注解 -->
	<context:component-scan base-package="com.stuos.core.service"/>	
</beans>

db.properties(数据库的属性,方便后续更改)

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db1
jdbc.username=root
jdbc.password=123456
jdbc.maxTotal=30
jdbc.maxIdle=10
jdbc.initialSize=5

log4j.properties(日志文件配置信息)

# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.com.stuos.core=DEBUG
# 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

mybatis-config.xml(MyBatis核心配置文件)

<?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.stuos.core.po" />
	</typeAliases>
</configuration>

springmvc-config.xml(用于加载Controller层)

<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:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.3.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
    <!-- 加载属性文件 -->
    <context:property-placeholder 
               location="classpath:resource.properties" />
    <!-- 配置扫描器 -->
    <context:component-scan 
               base-package="com.stuos.core.web.controller" />
    <!-- 注解驱动:配置处理器映射器和适配器 -->
    <mvc:annotation-driven />
    <!--配置静态资源的访问映射,此配置中的文件,将不被前端控制器拦截 -->
    <mvc:resources location="/js/" mapping="/js/**" />
    <mvc:resources location="/css/" mapping="/css/**" />
    <mvc:resources location="/css/" mapping="/admin/**/css/**" />
    <mvc:resources location="/fonts/" mapping="/fonts/**" />
    <mvc:resources location="/images/" mapping="/images/**" />	
    <mvc:resources location="/resource/" mapping="/resource/**" />
    <mvc:resources location="/resource/" mapping="/admin/**/resource/**" />
    <mvc:resources location="/resource/" mapping="/admin/**/resource/**" />
    <!-- 配置视图解释器ViewResolver -->
    <bean id="jspViewResolver" class=
    "org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
    </bean>	
    
    <!-- 配置拦截器 -->
	<mvc:interceptors>
    	<mvc:interceptor>
        	<mvc:mapping path="/**" />
        	<bean class="com.stuos.core.interceptor.LoginInterceptor" />
    	</mvc:interceptor>
	</mvc:interceptors>
</beans>


建立数据库

使用之前系统数据库的sql文件重建数据库
这里使用navicat
在这里插入图片描述

在项目组创建需要的持久化类

根据数据库创建持久化类
在这里插入图片描述

  • Course类
package com.stuos.core.po;
/*
 * 课程类
 * 
 * */
public class Course {
	
	private String courseId;//课程号
	private String courseName;//课程名称
	private String teaId;//授课教师
	
	public Course() {
		
	}
	public Course(String id,String name,String teaid) {
		this.courseId = id;
		this.courseName = name;
		this.teaId = teaid;
	}
	public String getCourseId() {
		return courseId;
	}
	public void setCourseId(String courseId) {
		this.courseId = courseId;
	}
	public String getCourseName() {
		return courseName;
	}
	public void setCourseName(String courseName) {
		this.courseName = courseName;
	}
	public String getTeaId() {
		return teaId;
	}
	public void setTeaId(String teaId) {
		this.teaId = teaId;
	}
	@Override
	public String toString() {
		return "Course [courseId=" + courseId + ", courseName=" + courseName + ", teaId=" + teaId + "]";
	}
	
}

  • Dict类
package com.stuos.core.po;
/**
 * 数据字典类
 *
 */
public class Dict {
	private String id;//用户身份编码
	private String userId;//用户身份
	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}
	/**
	 * @return the userId
	 */
	public String getUserId() {
		return userId;
	}
	/**
	 * @param userId the userId to set
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}
	@Override
	public String toString() {
		return "Dict [id=" + id + ", userId=" + userId + "]";
	}
	
}

  • ModifyScore类
package com.stuos.core.po;
/*
 * 修改成绩请求类
 * 
 * */
public class ModifyScore {

	private String teaId;//申请老师,主键1
	private String stuId;//修改的学生的学号,主键2
	private String courseId;//修改的课程号,主键3
	private int newScore;//新分数
	private int flag1;//秘书处理结果
	private int flag2;//专业负责人处理结果
	
	public ModifyScore() {
		
	}
	public ModifyScore(String teaid,String stuid,String courseid,int newscore) {
		this.teaId = teaid;
		this.stuId = stuid;
		this.courseId = courseid;
		this.newScore = newscore;
		this.flag1 = 0;
		this.flag2 = 0;
	}
	public String getTeaId() {
		return teaId;
	}
	public void setTeaId(String teaId) {
		this.teaId = teaId;
	}
	public String getStuId() {
		return stuId;
	}
	public void setStuId(String stuId) {
		this.stuId = stuId;
	}
	public String getCourseId() {
		return courseId;
	}
	public void setCourseId(String courseId) {
		this.courseId = courseId;
	}
	public int getNewScore() {
		return newScore;
	}
	public void setNewScore(int newScore) {
		this.newScore = newScore;
	}
	public int getFlag1() {
		return flag1;
	}
	public void setFlag1(int flag1) {
		this.flag1 = flag1;
	}
	public int getFlag2() {
		return flag2;
	}
	public void setFlag2(int flag2) {
		this.flag2 = flag2;
	}
	@Override
	public String toString() {
		return "ModifyScore [teaId=" + teaId + ", stuId=" + stuId + ", courseId=" + courseId + ", newScore=" + newScore
				+ ", flag1=" + flag1 + ", flag2=" + flag2 + "]";
	}
	
}

  • Score类
package com.stuos.core.po;
/*
 * 成绩类
 * 
 * */
public class Score {
	
	private int Id;//列表序号,主键
	private String stuId;//学生学号
	private String courseId;//课程号
	private int score;//学生成绩
	
	public Score() {
		
	}
	public Score(String stuid,String courseid,int s) {
		this.stuId = stuid;
		this.courseId = courseid;
		this.score = s;
	}
	public int getId() {
		return Id;
	}
	public void setId(int id) {
		Id = id;
	}
	public String getStuId() {
		return stuId;
	}
	public void setStuId(String stuId) {
		this.stuId = stuId;
	}
	public String getCourseId() {
		return courseId;
	}
	public void setCourseId(String courseId) {
		this.courseId = courseId;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	@Override
	public String toString() {
		return "Score [Id=" + Id + ", stuId=" + stuId + ", courseId=" + courseId + ", score=" + score + "]";
	}
	
}

  • User类
package com.stuos.core.po;



/*
 * 用户类
 * 
 * */
public class User {
	private String userId;//用户身份标识符:1为管理员,2为专业负责人,3为班主任,4为教师,5为辅导员,6为秘书,7为学生
	private String userAcc;//用户账号
	private String userPwd;//用户密码
	private String userName;//用户姓名
	private int userAge;//用户年龄
	private int userSex;//用户性别
	private Integer start;//起始行
	private Integer rows;//所取行数


	public User(String id,String acc,String pwd) {//可以直接赋值的构造函数
		this.userId = id;
		this.userAcc = acc;
		this.userPwd = pwd;
		this.userName = "";
		this.userAge = 0;
		this.userSex = 0;
	}
	public User() {
		
	}
	
	/**
	 * @return the start
	 */
	public Integer getStart() {
		return start;
	}
	/**
	 * @param start the start to set
	 */
	public void setStart(Integer start) {
		this.start = start;
	}
	/**
	 * @return the rows
	 */
	public Integer getRows() {
		return rows;
	}
	/**
	 * @param rows the rows to set
	 */
	public void setRows(Integer rows) {
		this.rows = rows;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getUserAge() {
		return userAge;
	}
	public void setUserAge(int userAge) {
		this.userAge = userAge;
	}
	public int getUserSex() {
		return userSex;
	}
	public void setUserSex(int userSex) {
		this.userSex = userSex;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserAcc() {
		return userAcc;
	}
	public void setUserAcc(String userAcc) {
		this.userAcc = userAcc;
	}
	public String getUserPwd() {
		return userPwd;
	}
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
	@Override
	public String toString() {
		return "User [userId=" + userId + ", userAcc=" + userAcc + ", userPwd=" + userPwd + ", userName=" + userName
				+ ", userAge=" + userAge + ", userSex=" + userSex + "]";
	}
	
	
	
}

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冬泉旅人Winspr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值