OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用
来源:互联网 发布:提高php水平 编辑:程序博客网 时间:2024/05/29 18:09
前面文章中,我们已经完成了OSGI应用中Spring、Mybatis、Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询。
前面文章中,我们已经搭建好的工作空间如下图所示:
本篇文章中,我们只需要在com.csdn.osgi.user.web工程中添加页面及Controller即可。
首先新增一个登录界面,文件路径为在WebContent/WEB-INF/jsp/login.jsp,内容如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>用户登录</title><link href="css/bootstrap/css/bootstrap.min.css" rel="stylesheet"><link href="css/signin.css" rel="stylesheet"></head><body><div class="signin"> <div class="signin-head"><img src="images/head_120.png" alt="" class="img-circle"></div> <form class="form-signin" role="form" action="Login.do" method="post"> <input type="text" name="username" class="form-control" placeholder="用户名" required autofocus /> <input type="password" name="password" class="form-control" placeholder="密码" required /> <button class="btn btn-lg btn-warning btn-block" type="submit">登录</button> <label class="checkbox"> <input type="checkbox" value="remember-me"> 记住我 </label> </form></div></body></html>
登录成功后,跳转到成功页面,所以我们还需要新增一个登录成功页面,文件路径为WebContent/WEB-INF/jsp/success.jsp,页面代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>用户登录</title><link href="css/bootstrap/css/bootstrap.min.css" rel="stylesheet"><link href="css/signin.css" rel="stylesheet"></head><body><h1>登录成功</h1></body></html>
接下来需要定义两个控制器来处理业务逻辑,首先增加一个PreLoginControler,逻辑比较简单,用于跳转到首页面,代码如下:
package com.csdn.osgi.user.controllers;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.mvc.Controller;import org.springframework.web.servlet.ModelAndView;public class PreLoginControler implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("login"); }}
然后还需要一个控制器LoginControler处理登录逻辑,代码如下:
package com.csdn.osgi.user.controllers;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.ibatis.session.SqlSession;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class LoginControler implements Controller { private SqlSession sqlMap; public void setSqlMap(SqlSession sqlMap) { this.sqlMap = sqlMap; } public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { String userName = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("UserName=>" + userName + ";" + "Password=>" + password); if(userName == null || password == null){ return new ModelAndView("login"); } String pword = (String) sqlMap.selectOne("user.getPasswordByName", userName); System.out.println(pword); if(pword !=null && pword.equals(password)){ return new ModelAndView("success"); } else { return new ModelAndView("login"); } }}
其中SqlSession 为Mybatis操作数据库的Session对象,通过Spring注入,Bean的配置如下:
<bean name="/preLogin.do" class="com.csdn.osgi.user.controllers.PreLoginControler"> </bean> <bean name="/Login.do" class="com.csdn.osgi.user.controllers.LoginControler"> <property name="sqlMap" ref="sqlMapService"></property> </bean>
到此为止我们已经完成了这个简单的登录应用的开发,源码下载地址会在文章结尾提供,接下来就来看看效果,首先启动OSGI容器,打开浏览器访问http://localhost:8080/preLogin.do,如下图所示:
输入正确的用户名密码,例如Smith/Smith,则跳转到登录成功界面,如下图所示:
用户名密码输入不正确则停止在登录界面,当然还可以增加一些提示信息,告诉客户用户名密码错误,这里就不做演示了,本案例主要是用于证明Spring MVC是整合成功的,否则Mybatis的SqlSession对象是无法注入到Controller对象中的。
本文源码下载:http://download.csdn.net/detail/rongbo_j/9757751
- OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用
- OSGI企业应用开发(十四)整合Spring、Mybatis、Spring MVC
- OSGI企业应用开发(八)整合Spring和Mybatis框架(一)
- OSGI企业应用开发(九)整合Spring和Mybatis框架(二)
- OSGI企业应用开发(十)整合Spring和Mybatis框架(三)
- OSGI企业应用开发(八)整合Spring和Mybatis框架(一)
- OSGI企业应用开发(九)整合Spring和Mybatis框架(二)
- OSGI企业应用开发(十)整合Spring和Mybatis框架(三)
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于 OSGi 和 Spring 开发 Web 应用
- 基于OSGi和Spring开发Web应用
- 笔记:Semi-Supervised Low-Rank Representation for Image Classification
- Linux进程描述符task_struct
- hdu 2594
- React-Native 中的生命周期
- Spring事务管理所遇到的坑
- OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用
- Android 实现圆形图片的几种方法
- IDEA的配置JDK,Tomcat,Maven
- jquery中对表单属性的操作总结
- 起步
- Codeforces Round #398 (Div. 2) -- B. The Queue (贪心+暴力)
- 小白学习之(Lua(02))
- hdu 2669
- java ArrayList 排序