`
今非昔比
  • 浏览: 2881 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SSM框架实例(登陆功能)

 
阅读更多

SSM框架实例(用户登录功能)*需考虑tomcat与jdk版本兼容性问题

 

第一步:新建一个web工程 First,导入搭建SSM需要的jar包到WebContent\WEB-INF\lib。

 

第二步:创建需要的类包controller、mapper、pojo、service、serviceImpl;

 

1.controller包中放控制层java类:

 

Login.java

 

@Controller//注解

public class Login {

 

//@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作

 

@Autowired//标注,注意这里的是接口,不是具体的实现类

public LoginService service;

 

@RequestMapping("/login")//映射地址可随意定义

private String login(String userName,String passWord){

User user=service.login(userName, passWord);

if(user!=null){

return "success";//返回jsp的文件名,不需要前缀和后缀,在springmvc.xml配置了前缀和后缀即可

}

return "fail";

}

}

 

 

2.mapper包中放dao层java接口和配置文件:

 

 

接口名称与相应的配置文件名一致,配置文件中的id对应接口中的方法名

配置文件的namespace就是对应接口的路径

 

LoginMapper.java

 

public interface LoginMapper {

 

//登陆

public User login(String userName,String passWord);

}

 

LoginMapper.xml

 

<?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.yd.mapper.LoginMapper">

 

<!-- 登入验证

resultType返回类型,#{0}表示传入的第一个参数

-->

<select id="login" resultType="User">

select * from user where userName=#{0} and passWord=#{1}

</select>

 

</mapper>

 

 

3.pojo包中放置javabean:

 

 

User.java

 

public class User {

 

private String userName;

private String passWord;

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;

}

 

}

 

 

4.service包中放业务层接口,同mapper

 

 

LoginService.java

 

public interface LoginService {

 

//登陆

public User login(String userName,String passWord);

}

 

 

5.serviceImpl包中放业务层对应接口的实现类

 

 

LoginServiceImpl.java

 

public class LoginServiceImpl implements LoginService{

 

@Autowired

public LoginMapper mapper;

 

@Override

public User login(String userName, String passWord) {

User user=mapper.login(userName, passWord);

return user;

}

 

}

 

 

 

第三步:创建视图层,在WebContent\WEB-INF 创建文件夹view存放jsp页面(不能通过浏览器直接访问)

 

1.fail.jsp

2.success.jsp

 

在WebContent下创建login.jsp(可通过浏览器直接访问)

注意事项:form表单的action必须与控制层相应controller中相应的方法的@RequestMapping的值一致,

 控件的name与对应方法的形参一致。

 

<%@ 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>login</title>

</head>

<body>

<h1 align="center">Login</h1>

<br>

<form action="login" method="post">

<table width="200" height="100" bgcolor="#000fff" align="center" border="1">

<tr>

<td align="right">account</td>

<td><input type="text" name="userName"></td>

</tr>

<tr>

<td align="right">password</td>

<td><input type="password" name="passWord"></td>

</tr>

<tr>

<td colspan="2" align="right"><input type="submit" value="Login"></td>

</tr>

</table>

</form>

</body>

</html>

 

 

 

 

第四步:创建一个数据源文件夹,放置SSM相关的配置文件

 

 

1.sqlMapConfig.xml 配置文件

 

<?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.yd.pojo"/>

</typeAliases>

 

<!-- 配置mapper 由于使用spring和mybatis的整合包进行mapper扫描,这里不需要配置了。 必须遵循:mapper.xml和mapper.java文件同名且在一个目录 -->

 

</configuration>

 

 

2.applicationContext-dao.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: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/mvc   

  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

  

<!-- 加载db.properties文件的内容 ,db.properties的key命名要具有一定的特殊规则-->

<context:property-placeholder location="classpath:db.properties"/>

 

<!-- 配置数据源 -->

<!-- destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用. -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<property name="driverClass" value="${mysql.driverClassName}"></property>

<property name="jdbcUrl" value="${mysql.url}"></property>

<property name="user" value="${mysql.username}"></property>

<property name="password" value="${mysql.password}"></property>

<property name="acquireIncrement" value="5"></property>  <!-- 当连接池中的连接用完时,C3P0一次性创建新连接的数目2 -->

<property name="initialPoolSize" value="10"></property>  <!-- 初始化时创建的连接数,必须在minPoolSize和maxPoolSize之间 -->

<property name="minPoolSize" value="5"></property>

<property name="maxPoolSize" value="20"></property>

<!-- 最大空闲时间,超过空闲时间的连接将被丢弃

[需要注意:mysql默认的连接时长为8小时(28800)【可在my.ini中添加 wait_timeout=30(单位秒)设置连接超时】,这里设置c3p0的超时必须<28800] 

-->

<property name="maxIdleTime" value="300"></property>  

<property name="idleConnectionTestPeriod" value="60"></property> <!-- 每60秒检查连接池中的空闲连接 -->

<property name="maxStatements" value="20"></property>  <!-- jdbc的标准参数  用以控制数据源内加载的PreparedStatement数量,但由于预缓存的Statement属 于单个Connection而不是整个连接 -->

</bean>

 

<!-- 配置SqlSessionFactory -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"></property>

<!-- 加载mybatis的全局配置文件 -->

<property name="dataSource" ref="dataSource" />

</bean>

 

<!-- 配置mapper扫描器 -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<!-- 扫描的包,如果要扫描多个包要用半角的,分隔 -->

<property name="basePackage" value="com.yd.mapper"></property>

<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

</bean>

</beans>

 

 

3.applicationContext-service.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: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/mvc   

  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

 

<!-- 配置service -->

<bean id="loginService" class="com.yd.serviceImpl.LoginServiceImpl"></bean>

 

</beans> 

 

 

4.applicationContext-transaction.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:mvc="http://www.springframework.org/schema/mvc"  

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-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/mvc   

  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

  http://www.springframework.org/schema/tx

  http://www.springframework.org/schema/tx/spring-tx.xsd  

  http://www.springframework.org/schema/aop

  http://www.springframework.org/schema/aop/spring-aop.xsd">

  

<!--事物管理器

对mybatis操作的数据库事物控制,spring使用jdbc的控制

 --> 

<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

 <!-- 配置数据源 -->

 <!--在  applicationContext-dao.xml配置了-->

 <property name="dataSource" ref="dataSource"></property>

 

</bean>

 

 

5.springmvc.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: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-3.2.xsd 

http://www.springframework.org/schema/mvc 

http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 

http://www.springframework.org/schema/context 

http://www.springframework.org/schema/context/spring-context-3.2.xsd 

http://www.springframework.org/schema/aop 

http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 

http://www.springframework.org/schema/tx 

http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

 

<!--扫描Controller  -->

<context:component-scan base-package="com.yd.controller"></context:component-scan>

 

<!-- mvc注解驱动器 :使用mvc:annotation-driven可以代替上面2个注解映射器、映射器的配置

mvc注解驱动器会 默认加载很多参数的绑定方法,比如json的转换,默认加载json解析器

实际开发使用mvc注解驱动器 -->

<mvc:annotation-driven>

<mvc:message-converters register-defaults="true">  

<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">  

<property name="supportedMediaTypes" value="application/json"/>  

</bean>  

</mvc:message-converters> 

</mvc:annotation-driven>

 

<!-- 视图解析器 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<!-- 前缀 /WEB-INF/jsp-->

<property name="prefix" value="/WEB-INF/view/"></property>

<!-- 后缀 -->

<property name="suffix" value=".jsp"></property>

</bean>

 

</beans>

 

 

 

 

第五步:配置web.xml文件

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

 

<!-- 加载Spring容器 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/classes/spring/applicationContext-*.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

<!-- spirngmvc 前端控制器 -->

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- 通过初始化参数指定springmvc配置文件的位置 -->

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring/springmvc.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

 

</web-app>

 

 

 

第六步:将工程部署到tomcat,启动服务,通过http://localhost:8080/First/login.jsp链接到登陆页面。

 

 

 

 

 

分享到:
评论

相关推荐

    SSM框架搭建实例

    这个压缩包文件"ssm_proj"提供了一个基本的SSM框架搭建实例,旨在帮助开发者快速启动一个新的JavaWeb项目。 首先,Spring框架是整个SSM的核心,它提供了依赖注入(Dependency Injection,DI)和面向切面编程...

    SSM框架项目实例

    一个SSM框架整合的小系统,叫做在线考试系统,简单来说就是实现教师(管理员)发布考试和学生(普通用户)参加考试的功能,当然其中还有一些稍显复杂的东西。 项目经反馈存在一些问题,如有需要,可加QQ群了解,有...

    SSM框架介绍.pptx

    Ssm框架介绍 Ssm框架是Java领域中的一种流行的框架,它是由Spring、SpringMVC和Mybatis三个组件组成的。...Ssm框架的每个组件都提供了强大的功能,包括Spring框架、SpringMVC框架和Mybatis框架等。

    ssm框架源码实例

    在本实例中,我们将深入探讨SSM框架的组成部分,配置过程以及如何实现基本的CRUD操作。 1. **Spring框架**:Spring作为整个SSM架构的基石,它提供依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...

    maven实例应用(基于ssm框架)

    总结来说,"maven实例应用(基于ssm框架)"是一个实用的学习资源,它展示了Maven如何在SSM框架下搭建和管理Java Web项目,有助于开发者理解和掌握这些工具和技术在实际开发中的应用。通过深入研究这个实例,开发者...

    SSM+Maven整合.zip_SSM框架_SSM框架实例_maven_maven SSM_ssm

    ssm+maven整合实例,这是一个简单的实例,可以发布对于ssm框架与maven工具使用。

    SSM框架搭建实例,war版本

    这是一份SSM基础框架的实例,其中带有测试类,可以直接在Eclipse中导入运行,供学习参考。集合了Spring,Spring-MVC,MyBatis框架,可作为项目开发的模板文件。

    ssm框架的一个简单案例

    SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是Java Web开发中常用的三大组件。这个"ssm框架的一个简单案例"旨在帮助开发者理解如何将这三个框架集成到一起,创建一个完整的Web应用。 Spring框架是核心,它...

    ssm框架项目案例

    这个"ssm框架项目案例"提供了一个完整的SSM整合实例,旨在帮助开发者快速理解和上手该框架的集成与应用。 1. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了依赖注入(Dependency Injection, DI)和...

    maven+ssm框架demo

    总结,"maven+ssm框架demo"项目旨在提供一个学习SSM框架集成的实例,通过Maven管理依赖,Log4j处理日志,Spring负责控制反转和面向切面编程,Spring MVC处理Web请求,MyBatis则负责数据库操作。对于Java开发者来说,...

    SSM框架简单实例

    在"SSM框架简单实例"中,我们通常会经历以下步骤来搭建一个基本的SSM项目: 1. **环境配置**:安装Java环境,设置JDK,配置Maven或Gradle构建工具。 2. **创建项目结构**:遵循Maven或Gradle的约定,创建项目的目录...

    SSM框架的思维导图

    SSM框架是Java Web开发中常用的三大组件——Spring、SpringMVC和Mybatis的集成,它们共同构建了一个灵活且强大的后端服务架构。这五个思维导图分别详细描绘了SSM框架的各个组成部分以及它们之间的关系,对于理解和...

    Java开发项目基于SSM框架的管理系统源代码.zip

    Java开发项目基于SSM框架的管理系统源代码。基于SSM框架的管理系统 实现 登录 、 注册 、 增 、 删 、 改 、 查 ; 可继续完善增加前端、校验、其他功能等; 可作为SSM项目开发练习基础模型; 课程设计 、 毕业...

    SpringBoot工程SSM框架Controller控制层开发案例(IDEA版)

    使用IDEA开发工具、SpringBoot工程、SSM框架、实现Controller层控制层开发案例讲解。

    简单SSM框架实例-用户登录

    Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的。虽说容易,但在框架搭建过程中仍然遇到了许多问题,这个实例使用的是sql2005数据库,需要先在...

    eclipse+ssm框架项目源码

    总的来说,这个"eclipse+ssm框架项目源码"提供了一个从零开始的SSM框架应用实例,展示了如何在Eclipse环境下不使用Maven来搭建和管理项目。开发者可以通过研究源码,了解SSM框架的实战应用,以及它们如何协同工作来...

    ssm框架实例

    10. **测试与运行**:使用IDE的内置服务器运行项目,进行单元测试和功能测试,确保SSM框架实例正常工作。 通过这个SSM框架实例,你可以学习到如何整合这三个组件,理解它们之间的协同工作,以及如何使用Maven管理...

Global site tag (gtag.js) - Google Analytics