UserController
package com.zhongruan.controller;
import com.github.pagehelper.PageInfo;
import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "3") int size) {
List<UserInfo> infos = userService.findAll(page, size);
PageInfo pageInfo = new PageInfo(infos);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("pageInfo", pageInfo);
modelAndView.setViewName("user-list");
return modelAndView;
}
@RequestMapping("login.do")
public ModelAndView dologin(UserInfo userInfo) {
Boolean flag = userService.doLogin(userInfo);
ModelAndView modelAndView = new ModelAndView();
if (flag) {
modelAndView.setViewName("main");
} else {
modelAndView.setViewName("../failer");
}
return modelAndView;
}
@RequestMapping("save.do")
public String add(UserInfo userInfo) {
userService.save(userInfo);
return ("redirect:findAll.do");
}
@RequestMapping("delete.do")
public String delUser(long id) {
userService.delete(id);
return "redirect:/user/findAll.do";
}
@RequestMapping("update.do")
public String findAll(UserInfo userInfo,@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "3") int size) {
List<UserInfo> infos = userService.findAll(page, size);
PageInfo pageInfo = new PageInfo(infos);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("pageInfo", pageInfo);
userService.update(userInfo);
return "redirect:/user/findAll.do";
}
}
UserService
package com.zhongruan.service;
import com.zhongruan.bean.UserInfo;
import java.util.List;
public interface UserService {
public List<UserInfo> findAll(int page,int size);
public Boolean doLogin (UserInfo userInfo);
public void save(UserInfo userInfo);
public void delete(long id);
public void update(UserInfo userInfo);
public UserInfo queryById(long id);
}
UserDao
package com.zhongruan.dao;
import com.zhongruan.bean.UserInfo;
import java.util.List;
public interface UserDao {
public List<UserInfo> findAll();
public UserInfo doLogin (UserInfo userInfo);
public void save(UserInfo userInfo);
public void delete(long id);
public void update(UserInfo userInfo);
public UserInfo queryById(long id);
}
account.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HTML Template</title>
<!-- preloader CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/preloader.css">
<!-- slider-pro CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/slider-pro.css">
<!-- slick CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/slick.css">
<!-- Main Style CSS CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
<!-- font-awesome CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/font-awesome.css">
<link rel="stylesheet" type="text/css" href="assets/css/magnific-popup.css">
<!-- Fonts -->
<link href='https://fonts.googleapis.com/css?family=Yantramanav:300,400,500,700,900' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- =====================================
==== Start header -->
<!-- Header desktop -->
<header class="header section-bg" style="background-image:url(assets/images/bg_header.jpg)">
<!-- top-bar -->
<div class="topbar">
<div class="container">
<div class="top-bar">
<div class="top-bar__left pull">
<div class="top-bar-register">
<a class="top-bar__item" href="account.html">
<i class="fa fa-user-o" aria-hidden="true"></i>
Register
</a>
</div>
<div class="top-bar-account">
<a class="top-bar__item" href="account.html">
<i class="fa fa-lock" aria-hidden="true"></i>
login
</a>
<div class="content-dropdown left">
<div class="account-inner ">
<div class="login-form-head">
<span class="login-form-title">Sign in</span>
<span class="pull-right">
<a class="register-link" href="#" title="Register">Create an Account</a>
</span>
</div>
<form class="opal-login-form-ajax" data-toggle="validator" role="form">
<p>
<label>Username or email <span class="required">*</span></label>
<input name="username" type="text" required="" placeholder="Username">
</p>
<p>
<label>Password <span class="required">*</span></label>
<input name="password" type="password" required="" placeholder="Password">
</p>
<button type="submit" data-button-action="" class="btn btn-primary btn-block">Login</button>
<input type="hidden" name="action" value="">
<input type="hidden" id="security-login" name="security-login" value="">
<input type="hidden" name="login" value="">
</form>
<div class="login-form-bottom">
<a href="#" class="lostpass-link" title="Lost your password?">Lost your password?</a>
</div>
</div>
</div>
</div>
</div>
<div class="top-bar__right">
<div class="header-language item-dropdown">
<a href="#" class="top-bar__item">English
<i class="fa fa-angle-down"></i>
</a>
<ul class="content-dropdown">
<li class="active"><a href="#">English</a></li>
<li><a href="#">French</a></li>
<li><a href="#">German</a></li>
</ul>
</div>
<div class="header-currency item-dropdown">
<a href="#" class="top-bar__item">USD
<i class="fa fa-angle-down"></i>
</a>
<ul class="content-dropdown">
<li><a href="#"><span class="symbol">€</span>EUR</a></li>
<li class="active"><a href="#"><span class="symbol">$</span>USD</a></li>
<li><a href="#"><span class="symbol">£</span>GBP</a></li>
</ul>
</div>
</div>
</div>
</div>
<!-- /Container -->
</div>
<!-- /top-bar -->
<!-- header-main -->
<div class="header-main pb-30">
<div class="container">
<nav id="nav" class="navbar">
<div class="nav-collapse">
<span></span>
</div>
<div class="navbar-header">
<!-- Logo -->
<div class="navbar-brand">
<a class="logo" href="index.html"><img src="assets/images/logo.png" alt=""></a>
</div>
<!-- /Logo -->
</div>
<!-- Main navigation -->
<div class="otf-flex-item"></div>
<ul class="main-nav nav navbar-nav navbar-right">
<li class="dropdown active">
<a href="index.html">Home</a>
<ul class="dropdown-menu">
<li><a href="../index.html">Home 1</a></li>
<li><a href="../v2/index.html">Home 2</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#">Product</a>
<ul class="dropdown-menu">
<li><a href="product_grid.html">
Product grid</a>
</li>
<li><a href="product_list.html">Product list</a></li>
<li><a href="product_sidebar.html">Product sidebar</a></li>
<li><a href="product_single.html">Product single</a></li>
</ul>
</li>
<li class="dropdown"><a href="about.html">About</a></li>
<li class="dropdown">
<a href="#">Pages</a>
<ul class="dropdown-menu">
<li><a href="faq.html">FAQ</a>
</li>
<li><a href="contact.html">Contact</a></li>
<li><a href="404.html">Page 404</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#">Blog</a>
<ul class="dropdown-menu">
<li><a href="blog.html">Blog Grid</a>
</li>
<li><a href="blog_list.html">Blog List</a></li>
<li><a href="blog_single.html">Single Blog</a></li>
</ul>
</li>
<li><a href="contact.html">Contact</a></li>
</ul>
<!-- /Main navigation -->
<div class="otf-flex-item"></div>
<div class="site-header -icon">
<!-- search -->
<div class="site-header__search">
<div class="ps-search-btn">
<i class="fa fa-search" aria-hidden="true"></i>
</div>
<div class="ps-search">
<div class="ps-search__content">
<a class="ps-search__close" href="#"><span></span></a>
<h3 class="search_title">Enter your keyword</h3>
<form method="get" class="searchform" action="#">
<div class="wiget-search input-group">
<input name="s" maxlength="40" class="form-control input-search" type="text" size="20" placeholder="Searching...">
<span class="input-group-addon input-large btn-search">
<span class="fa fa-search"></span>
<input type="submit" class="fa" value="">
</span>
</div>
</form>
</div>
</div>
</div>
<!-- cart -->
<div class="site-header__cart item-dropdown">
<a href="cart.html" class="site-header__cart-toggle">
<span class="cartcount">3</span>
<i class="fa fa-shopping-basket" aria-hidden="true"></i>
<span class="cartcost"><span class="money" data-currency-usd="$0.00">$0.00</span></span>
</a>
<div class="widget_shopping_cart_content content-dropdown">
<div class="cart_list ">
<div class="media widget-product">
<div class="media-left">
<a href="product_single.html" class="image pull-left">
<img src="assets/images/product/product_1.jpg" alt="">
</a>
</div>
<div class="cart-main-content media-body">
<h3 class="name">
<a href="product_single.html">
Reebok Strength Gloves
</a>
</h3>
<p class="cart-item">
<span class="quantity">2 × <span class="price-amount amount"><span class="price-currencySymbol">$</span>250.00</span></span>
</p>
<a href="#" class="remove" title="Remove this item">×</a>
</div>
</div>
<div class="media widget-product">
<div class="media-left">
<a href="product_single.html" class="image pull-left">
<img src="assets/images/product/product_2.jpg" alt="">
</a>
</div>
<div class="cart-main-content media-body">
<h3 class="name">
<a href="product_single.html">
Olmp profi mass
</a>
</h3>
<p class="cart-item">
<span class="quantity">2 × <span class="price-amount amount"><span class="price-currencySymbol">$</span>250.00</span></span> </p>
<a href="#" class="remove" title="Remove this item">×</a>
</div>
</div>
<div class="media widget-product">
<div class="media-left">
<a href="product_single.html" class="image pull-left">
<img src="assets/images/product/product_3.jpg" alt="">
</a>
</div>
<div class="cart-main-content media-body">
<h3 class="name">
<a href="product_single.html">
Bodymax contest weight
</a>
</h3>
<p class="cart-item">
<span class="quantity">2 × <span class="price-amount amount"><span class="price-currencySymbol">$</span>200.00</span></span> </p>
<a href="#" class="remove" title="Remove this item">×</a>
</div>
</div>
</div>
<p class="total"><strong>Subtotal:</strong>
<span class="price-amount amount">
<span class="price-currencySymbol">$</span>700.00</span>
</p>
<p class="buttons clearfix">
<a href="cart.html" class="btn view-cart btn-default btn-normal pull-right">View Cart</a>
<a href="#" class="btn check-out btn-primary btn-normal pull-left">Checkout</a>
</p>
</div>
</div>
</div>
</nav>
</div>
</div>
<!-- /header-main -->
</header>
<!-- /Headerdesktop -->
<!-- header-mobile -->
<div class="header-mobile section-bg" style="background-image:url(assets/images/bg_header.jpg)">
<div class="header-mobile-top">
<div class="top-bar">
<div class="header-language item-dropdown">
<a href="#" class="top-bar__item">English
<i class="fa fa-angle-down"></i>
</a>
<ul class="content-dropdown">
<li class="active"><a href="#">English</a></li>
<li><a href="#">French</a></li>
<li><a href="#">German</a></li>
</ul>
</div>
<div class="header-currency item-dropdown">
<a href="#" class="top-bar__item">USD
<i class="fa fa-angle-down"></i>
</a>
<ul class="content-dropdown">
<li><a href="#"><span class="symbol">€</span>EUR</a></li>
<li class="active"><a href="#"><span class="symbol">$</span>USD</a></li>
<li><a href="#"><span class="symbol">£</span>GBP</a></li>
</ul>
</div>
</div>
<div class="site-header -icon">
<!-- search -->
<div class="site-header__search">
<div class="ps-search-btn">
<i class="fa fa-search" aria-hidden="true"></i>
</div>
<div class="ps-search">
<div class="ps-search__content">
<a class="ps-search__close" href="#"><span></span></a>
<h3 class="search_title">Enter your keyword</h3>
<form method="get" class="searchform" action="#">
<div class="wiget-search input-group">
<input name="s" maxlength="40" class="form-control input-search" type="text" size="20" placeholder="Searching...">
<span class="input-group-addon input-large btn-search">
<span class="fa fa-search"></span>
<input type="submit" class="fa" value="">
</span>
</div>
</form>
</div>
</div>
</div>
<!--end search -->
</div>
</div>
<nav class="navbar">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- logo -->
<div class="navbar-brand">
<a class="logo" href="index.html"><img src="assets/images/logo.png" alt=""> </a>
</div>
<!-- logo -->
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active dropdown">
<a href="index.html" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Home <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="../index.html">Home 1</a></li>
<li><a href="../v2/index.html">Home 2</a></li>
</ul>
</li>
<li class="dropdown">
<a href="product_grid.html" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Product <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="product_grid.html">Product grid</a></li>
<li><a href="product_list.html">Product list</a></li>
<li><a href="product_sidebar.html">Product sidebar</a></li>
<li><a href="product_single.html">Product single</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#l" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Page<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="faq.html">FAQ</a></li>
<li><a href="404.html">Page 404</a></li>
</ul>
</li>
<li class="dropdown">
<a href="blog.html" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Blog<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="blog.html">Blog Grid</a></li>
<li><a href="blog_list.html">Blog List</a></li>
<li><a href="blog_single.html">Single Blog</a></li>
</ul>
</li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
</nav>
</div>
<div class="footer-mobile-bar">
<ul class="columns-2">
<li class="my-account">
<a class="my-accrount-footer" href="account.html">
<i class="fa fa-user-o" aria-hidden="true"></i>
</a>
</li>
<li class="cart">
<a class="footer-cart-contents" href="cart.html" title="View your shopping cart">
<i class="fa fa-shopping-basket" aria-hidden="true"></i>
<span class="count">1</span>
</a>
</li>
</ul>
</div>
<!-- /header-mobile -->
<!-- End header ====
======================================= -->
<!-- =====================================
==== Start breadcrumb -->
<div class="breadcrumb">
<!-- container -->
<div class="container">
<h1>Account</h1>
<ol class="item-breadcrumb">
<li><a href="login.jsp">Home</a></li>
<li>account</li>
</ol>
</div>
<!-- /container -->
</div>
<!-- =====================================
==== End breadcrumb -->
<!-- =====================================
==== Start account -->
<div class="page-account">
<!-- container -->
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="account-wrapper">
<ul class="account-tab-list nav">
<li class="active"><a data-toggle="tab" href="#login">登录</a></li>
<li><a data-toggle="tab" href="#register">注册</a></li>
</ul>
<div class="tab-content">
<div id="login" class="tab-pane fade in active">
<div class="account-form-container login-form">
<div class="account-form">
<form action="#" method="post">
<input type="text" name="user-name" placeholder="用户名">
<input type="password" name="user-password" placeholder="密码">
<div class="button-box">
<div class="login-toggle-btn d-flex justify-content-between">
<div class="remember d-flex">
<input type="checkbox">
<label>记住密码</label>
</div>
<div class="forgot">
<a href="#">忘记密码?</a>
</div>
</div>
<button type="submit" class="btn btn-default btn-normal"><span>登录</span></button>
</div>
</form>
</div>
</div>
</div>
<div id="register" class="tab-pane fade">
<div class="account-form-container register-form">
<div class="account-form">
<form action="#" method="post">
<input type="text" required="" name="first-name" placeholder="姓名">
<input type="text" required="" name="last-name" placeholder="联系电话">
<input name="user-email" required="" type="email" placeholder="用户名">
<input type="password" required="" placeholder="密码">
<div class="button-box">
<button type="submit" class="btn btn-default btn-normal"><span>注册</span></button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /container -->
</div>
<!-- =====================================
==== End account -->
<!-- =====================================================================
==== Start footer -->
<footer class="site-footer site-footer-2 clearfix">
<div class="site-footer__main">
<div class="container">
<div class="row">
<div class="col-md-6 col-sm-12 col-xs-12 footer-block">
<img src="assets/images/logo.png" alt="">
<p class="address pt-30">Office: 972 Sylvan Street South Angelina, NL S0B2V9<br>
Phone: (633) 497-1888 / (062) 109-9222<br>
Email: example.com
</p>
</div>
<div class="col-md-3 col-sm-6 col-xs-12 footer-block footer-1">
<h3 class="widget-title">Quick Links</h3>
<ul>
<li><a href="about.html">About Us</a></li>
<li><a href="contact.html">Contact Us</a></li>
<li><a href="blog.html">Blog</a></li>
<li><a href="account.html">My Account</a></li>
<li><a href="product_grid.html">Shop</a></li>
<li><a href="account.jsp">注册</a></li>
</ul>
</div>
<div class="col-md-3 col-sm-6 col-xs-12 footer-block footer-3">
<h3 class="widget-title">OPENING TIME</h3>
<ul>
<li>
<span>Monday :</span>
<span>9am - 5pm</span>
</li>
<li>
<span>Tuesday :</span>
<span>9am - 1pm</span>
</li>
<li>
<span>Wendsday :</span>
<span>9am - 5pm</span>
</li>
<li>
<span>Thursday :</span>
<span>9am - 1pm</span>
</li>
<li>
<span>Friday :</span>
<span>9am - 1pm</span>
</li>
<li>
<span>Saturday - Sunday :</span>
<span>closed</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="site-footer__copyright">
<div class="container">
<div class="copyright_container">
<div class="col-md-4 col-sm-6">
<ul class="social">
<li>
<a href="#"><i class="fa fa-facebook"></i></a>
</li>
<li>
<a href="#"><i class="fa fa-twitter"></i></a>
</li>
<li>
<a href="#"><i class="fa fa-google"></i></a>
</li>
<li>
<a href="#"><i class="fa fa-instagram"></i></a>
</li>
<li>
<a href="#"><i class="fa fa-pinterest"></i></a>
</li>
</ul>
</div>
<div class="copyright col-md-4 col-sm-6">
© 2018. All rights reserved.<a href="#" target="_blank">Enercos</a>
</div>
<div class="payment col-md-4 col-sm-12">
<img src="assets/images/payment.png" alt="">
</div>
</div>
</div>
</div>
</footer>
<!-- =====================================================================
==== End footer -->
<!-- Back to top -->
<div id="back-to-top"></div>
<!--/Back to to -->
<!-- =====================================================================
====Start Preloader -->
<div id="preloader">
<div class="preloader">
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
<!-- =====================================================================
====End Preloader -->
<!-- =====================================
====Start all js here -->
<!-- jquery js-->
<script src="assets/js/jquery.min.js"></script>
<!-- bootstrap js-->
<script src="assets/js/bootstrap.min.js"></script>
<!-- slick js-->
<script src="assets/js/slick.min.js"></script>
<!-- jquery-ui js-->
<script src="assets/js/jquery-ui.min.js"></script>
<!-- sliderPro js-->
<script src="assets/js/jquery.sliderPro.min.js"></script>
<!-- deal js-->
<script src="assets/js/fastclick.min.js"></script>
<script src="assets/js/timber.js"></script>
<!-- Magnific js-->
<script src="assets/js/jquery.magnific-popup.min.js"></script>
<!-- counter js-->
<script src="assets/js/jquery.waypoints.js"></script>
<script src="assets/js/jquery.counterup.min.js"></script>
<!-- main js-->
<script src="assets/js/custom.js"></script>
<!-- =====================================
==== End all js here -->
</body>
</html>
结果