博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)ssm框架学习入门实例
阅读量:5049 次
发布时间:2019-06-12

本文共 7002 字,大约阅读时间需要 23 分钟。

转:

所需jar包:

  1.Spring框架jar包

  2.Mybatis框架jar包

  3.Spring的AOP事务jar包

  4.Mybatis整合Spring中间件jar包

  5.aspectj框架jar包

  6.aop联盟jar包

  7.数据库驱动jar包

  8.数据源c3p0所需jar包

  9.JSTL标签库jar包

 

编写db.properties文件

dataSource.driverClass=com.mysql.jdbc.DriverdataSource.jdbcUrl=jdbc:mysql://localhost:3306/smmbookdataSource.user=rootdataSource.password=dataSource.maxPoolSize=20dataSource.maxIdleTime = 1000dataSource.minPoolSize=6dataSource.initialPoolSize=5

编写applicationContext.xml

 编写springmvc-config 配置文件

/WEB-INF/content/
.jsp
 

 编写web.xml文件

org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/applicationContext*.xml
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/springmvc-config.xml
1
springmvc
/
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
characterEncodingFilter
/*

持久层功能实现

User.java

package codeRose.domain;public class User {    private Integer id;    private String loginname;    private String password;    private String username;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getLoginname() {        return loginname;    }    public void setLoginname(String loginname) {        this.loginname = loginname;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    }

UserMapper.java

package codeRose.mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import codeRose.domain.User;//持久层包括数据库表映射的User.java的JavaBean对象,并使用了MyBatis的注解映射了对应的SQL语句public interface UserMapper {    @Select("select * from user where loginname=#{loginname} and password=#{password}")    User findWithLoginAndPassword(@Param("loginname")String loginname,@Param("password")String password);}

服务层功能实现

UserService.java

package codeRose.service;import codeRose.domain.User;public interface UserService {        /**     * 判断用户登录     * @param String loginname     * @param String password     * @return 找到返回User对象,没有找到返回null     * */    User login(String loginname,String password);}

UserServiceImpl.java  

package codeRose.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import codeRose.domain.User;import codeRose.mapper.UserMapper;@Service("userService")public class UserServiceImpl implements UserService {    @Autowired    private UserMapper userMapper;    @Override    public User login(String loginname, String password) {        // TODO Auto-generated method stub        return userMapper.findWithLoginAndPassword(loginname, password);    }}

控制层功能实现

FormController.java

package codeRose.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;//动态页面跳转控制器@Controllerpublic class FormController {    @RequestMapping(value="/{formName}")    public String loginForm(@PathVariable String formName){        return formName;    }}

UserController.java  

package codeRose.controller;import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.view.RedirectView;import codeRose.domain.User;import codeRose.service.UserService;@Controllerpublic class UserController {    @Autowired    @Qualifier("userService")    private UserService userService;    /**     * 处理/login请求     */    @RequestMapping(value="/login")    public ModelAndView login(String loginname,String password,ModelAndView mv,HttpSession session){        User user=userService.login(loginname, password);        if(user!=null){            //登录成功,将user对象设置到HttpSession作用范围域中            session.setAttribute("user", user);            //转发到main请求            mv.setView(new RedirectView("/smmbookapp/main"));        }else {            //登录失败,设置失败信息,并调转到登录页面                        mv.addObject("message","登录名和密码错误,请重新输入");            mv.setViewName("loginForm");        }        return mv;    }}

JSP页面实现

loginForm.jsp  

page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>

ssmbookapp

${requestScope.message }

登录成功跳转到主页main.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
Insert title here欢迎[${sessionScope.user.username }]访问

转载于:https://www.cnblogs.com/unique1319/articles/6625206.html

你可能感兴趣的文章
token简单的使用流程。
查看>>
django创建项目流程
查看>>
UIActionSheet 修改字体颜色
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
Spring注解之@Lazy注解,源码分析和总结
查看>>
多变量微积分笔记24——空间线积分
查看>>
Magento CE使用Redis的配置过程
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Mac 下的Chrome 按什么快捷键调出页面调试工具
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>