`

SSM基础框架一

    博客分类:
  • SSM
阅读更多
1. SSM基础框架

1. 创建user数据表
create table t_user(
id int(11) NOT NULL AUTO_INCREMENT,
userName varchar(20) DEFAULT NULL,
password varchar(20) DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

insert into t_user values(1, 'andrew', '123456');

2. 新建MyBatisPro05项目


3. 导入jar包
asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
c3p0-0.9.1.jar
com.springsource.net.sf.cglib-2.2.0.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
commons-logging-1.1.3.jar
javassist-3.11.0.GA.jar
log4j-1.2.16.jar
mybatis-3.2.5.jar
mybatis-spring-1.2.0.jar
mysql.jar
ognl-3.0.6.jar
spring-aop-4.0.6.RELEASE.jar
spring-aspects-4.0.6.RELEASE.jar
spring-beans-4.0.6.RELEASE.jar
spring-context-4.0.6.RELEASE.jar
spring-core-4.0.6.RELEASE.jar
spring-expression-4.0.6.RELEASE.jar
spring-jdbc-4.0.6.RELEASE.jar
spring-orm-4.0.6.RELEASE.jar
spring-tx-4.0.6.RELEASE.jar
spring-web-4.0.6.RELEASE.jar
spring-webmvc-4.0.6.RELEASE.jar


package com.andrew.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.andrew.entity.User;
import com.andrew.service.UserService;
@Controller
@RequestMapping("/user")
public class UserController {
    @Resource
    private UserService userService;
    @RequestMapping("/login")
    public String login(User user,HttpServletRequest request){
        User resultUser = userService.login(user);
        if (resultUser == null) {
            request.setAttribute("user", user);
            request.setAttribute("errorMsg", "用户名或密码错误!");
            return "index";
        } else {
            HttpSession session=request.getSession();
            session.setAttribute("currentUser", resultUser);
            return "redirect:/success.jsp";
        }
    }
}


package com.andrew.dao;
import com.andrew.entity.User;
public interface UserDao {
    public User login(User user);
}


package com.andrew.entity;
public class User {
    private Integer id;
    private String userName;
    private String password;
    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;
    }
}


<?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.andrew.dao.UserDao">
    <resultMap type="User" id="UserResult">
        <result property="id" column="id"/>
        <result property="userName" column="userName"/>
        <result property="password" column="password"/>
    </resultMap>
    <select id="login" parameterType="User" resultMap="UserResult">
        select * from t_user where userName=#{userName} and password=#{password}
    </select>
</mapper>


package com.andrew.service;
import com.andrew.entity.User;
public interface UserService {
    public User login(User user);
}


package com.andrew.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.andrew.dao.UserDao;
import com.andrew.entity.User;
import com.andrew.service.UserService;
@Service("userService")
public class UserServiceImpl implements UserService {
    @Resource
    private UserDao userDao;
    public User login(User user) {
        return userDao.login(user);
    }
}


<?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:aop="http://www.springframework.org/schema/aop"   
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:jee="http://www.springframework.org/schema/jee"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xsi:schemaLocation="    
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">    
        
    <!-- 自动扫描 -->
    <context:component-scan base-package="com.andrew.dao" />
    <context:component-scan base-package="com.andrew.service" />
    
    <!-- 配置数据源 -->
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>

    <!-- 配置mybatis的sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- 自动扫描mappers.xml文件 -->
        <property name="mapperLocations" value="classpath:com/andrew/mappers/*.xml"></property>
        <!-- mybatis配置文件 -->
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
    </bean>

    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.andrew.dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>

    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
    <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="insert*" propagation="REQUIRED" />  
            <tx:method name="update*" propagation="REQUIRED" />  
            <tx:method name="edit*" propagation="REQUIRED" />  
            <tx:method name="save*" propagation="REQUIRED" />  
            <tx:method name="add*" propagation="REQUIRED" />  
            <tx:method name="new*" propagation="REQUIRED" />  
            <tx:method name="set*" propagation="REQUIRED" />  
            <tx:method name="remove*" propagation="REQUIRED" />  
            <tx:method name="delete*" propagation="REQUIRED" />  
            <tx:method name="change*" propagation="REQUIRED" />  
            <tx:method name="get*" propagation="REQUIRED" read-only="true" />  
            <tx:method name="find*" propagation="REQUIRED" read-only="true" />  
            <tx:method name="load*" propagation="REQUIRED" read-only="true" />  
            <tx:method name="*" propagation="REQUIRED" read-only="true" />  
        </tx:attributes>  
    </tx:advice>  
  
    <!-- 配置事务切面 -->  
    <aop:config>  
        <aop:pointcut id="serviceOperation"  
            expression="execution(* com.andrew.service.*.*(..))" />  
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />  
    </aop:config>  

</beans>


log4j.rootLogger=info,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender 
log4j.appender.appender2=org.apache.log4j.FileAppender 
log4j.appender.appender2.File=E:/ssm-log4j-file.txt
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout


<?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.andrew.entity"/>
    </typeAliases>
</configuration>


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

    <!-- 使用注解的包,包括子集 -->
    <context:component-scan base-package="com.andrew.controller" />

    <!-- 视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/" />
        <property name="suffix" value=".jsp"></property>
    </bean>

</beans>


<?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" version="3.0">
  <display-name>MyBatisPro05</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
    <!-- Spring配置文件 -->
    <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>
        <async-supported>true</async-supported>
        <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>
    <!-- Spring监听器 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <!-- 添加对springmvc的支持 -->
    <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:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported>
    </servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/user/login.do" method="post">
    userName:<input type="text" name="userName" value="${user.userName }"/><br/>
    password:<input type="password" name="password" value="${user.password }"><br/>
    <input type="submit" value="login"/><font color="red">${errorMsg }</font>
</form>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
欢迎:${currentUser.userName }
</body>
</html>


http://localhost:8080/MyBatisPro05/
andrew
123456
成功

123456
123123
失败
分享到:
评论

相关推荐

    SSM基础框架.zip

    在这个"SSM基础框架.zip"压缩包中,我们可以预见到它包含了搭建一个基本SSM项目所需的所有配置文件和必要的示例代码,方便开发者在此基础上进行功能扩展。 1. **Spring框架**:Spring是一个全面的企业级应用开发...

    ssm框架原理分析

    SSM 框架是当前 Java Web 开发中最流行的框架之一,它是由 Spring、SpringMVC 和 MyBatis 三个框架组成的。下面我们将对 SSM 框架的三个原理进行分析。 一、Spring 框架原理 Spring 框架是 SSM 框架的核心组件之一...

    SSM基础框架jar包整合

    这个"SSM基础框架jar包整合"涵盖了这三个框架的核心库,旨在为开发者提供一个快速搭建项目的环境。下面我们将详细探讨这三个组件以及它们的整合过程。 **Spring框架** 是一个全面的企业级应用开发框架,它提供了...

    (完整版)ssm框架题库-java.pdf

    SSM 框架的核心容器是其他模块建立的基础,包括 Beans 模块、Core 模块、Context 模块和 AOP 模块等。这些模块共同构成了 SSM 框架的功能。 SSM 框架的实现方式 SSM 框架的实现方式通常有两种,一种是属性 setter ...

    ssm框架的一个简单案例

    这个"ssm框架的一个简单案例"旨在帮助开发者理解如何将这三个框架集成到一起,创建一个完整的Web应用。 Spring框架是核心,它提供了一个容器来管理对象(Bean)的生命周期和依赖注入。在本案例中,Spring负责处理...

    SSM基础框架

    SSM基础框架是Java开发中常用的三大开源框架——Spring、SpringMVC和MyBatis的集成,用于构建高效、灵活的Web应用。这三个框架分别负责不同的职责:Spring作为整体的容器管理Bean,SpringMVC处理HTTP请求和响应,...

    ssm基础项目框架学习

    本项目是用Spring SpringMvc Mybatis框架 使用eclipse 工具 maven管理创建的基础项目,适合初级接触ssm框架者。可在博客http://blog.csdn.net/lijunjie818/article/details/78552747中查看运行结果

    使用maven搭建的ssm框架

    1. **Spring**:这是一个全面的Java应用框架,提供依赖注入(DI)、面向切面编程(AOP)、事务管理等核心功能。它简化了Java应用的开发,使得组件之间解耦,并且支持各种持久层框架,如JDBC、Hibernate、MyBatis等。...

    ssm框架最基本源码

    SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是Java Web开发中常用的三大组件。本文将深入探讨这三大框架的基本原理、如何整合以及如何在实际项目中运用。 **Spring框架** 是一个全面的企业级应用开发框架,...

    ssm 权限框架源码

    在SSM框架基础上加入Shiro,可以实现用户登录验证、角色与权限分配、会话管理等功能。Shiro的主要组件包括Subject、Realms、Caches等,通过配置 Realm,Shiro可以从数据库或其他数据源获取用户信息并进行权限校验。 ...

    SSM框架的思维导图

    通过这些思维导图,学习者可以系统地了解SSM框架的各个方面,从基础概念到高级特性和实践技巧,有助于提升对SSM框架的理解和应用能力。在学习过程中,可以结合具体代码实例,加深对每个组件和它们之间交互的理解,...

    ssm的基本框架

    这个"ssm的基本框架"压缩包文件很可能包含了一个基础的单模块SSM项目的源码,用于教学或者实践目的。让我们来详细探讨一下SSM框架中的主要知识点。 1. **Spring框架**:Spring是核心的依赖注入(DI)和面向切面编程...

    SSM框架搭建实例

    这个"ssm_proj"实例是一个可编译、可运行的项目模板,开发者可以直接在此基础上进行业务开发,无需从零开始搭建基础框架,大大节省了项目初期的时间成本。对于初学者来说,通过研究这个实例,可以更好地理解SSM框架...

    【ssm项目】框架的网上书城项目.zip_为什么要用ssm框架

    首先,Spring作为基础框架,它提供了一个统一的依赖注入(DI)容器,使得对象间的依赖关系可以通过配置文件或注解来管理,极大地提高了代码的可测试性和可维护性。Spring还包含了AOP(面向切面编程)支持,可以实现...

    基于SSM整合框架的快速开发技术研究.doc

    本系统所采用的SSM整合框架就是根据MVC设计模式的基础上发展起来,其中Struts2就是采用MVC模式建立起来的框架技术,而Struts2正是需要与spring、Mybatis进行无缝的集成,才能真正发挥MVC模式的作用。 四、Spring ...

    ssm完整框架源码

    这个"ssm完整框架源码"项目显然旨在提供一个基础的、可运行的示例,帮助开发者理解这三大框架如何协同工作。下面我们将深入探讨这三个组件及其在项目中的应用。 首先,Spring框架是一个全面的Java企业级应用开发...

    eclipse+ssm框架项目源码

    1. **Spring框架**:Spring是一个开源的应用框架,提供了一个全面的基础设施,支持创建Java EE应用。在本项目中,Spring作为核心容器,管理着应用对象的生命周期和依赖注入(DI)。它还包含了SpringMVC,这是一个...

    ssm框架基础功能

    在"ssm_crm2"这个项目中,很可能是一个使用SSM框架开发的客户关系管理(CRM)系统,集成了Oracle数据库,利用Ajax实现页面的动态交互,采用响应式设计和Bootstrap确保在不同设备上的良好展示。这样的系统能够高效地...

    简单的ssm框架

    在本"简单的SSM框架"项目中,你将了解到如何搭建一个基础的SSM环境并实现一个"Hello World"示例。下面我们将深入探讨SSM框架的核心组件及其作用。 1. **Spring框架**:Spring是整个SSM中的核心,它提供了一个容器来...

Global site tag (gtag.js) - Google Analytics