主體:本章主要是驗證上一章配置的架構能否正常運作,下面寫一個登陸的Demo作為驗證。
1.1 在貼代碼之前,首先建立一個簡單的資料庫使用者表,并添加一條資料.
表結構

表資料
2.1 下面是代碼部分,User實體類
package com.znkj.entity;
import org.springframework.stereotype.Component;
/**
*
* @TODO 使用者實體類,字段類型命名與資料庫字段保持一緻
* @author hans
* @date 2018年3月22日下午2:01:36
*
*/
@Component("user")
public class User {
private int id;
private String account;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User(int id, String account, String password) {
super();
this.id = id;
this.account = account;
this.password = password;
}
public User() {
super();
}
@Override
public String toString() {
return "User [id=" + id + ", account=" + account + ", password=" + password + "]";
}
}
2.2 UserDao接口:操作資料的接口
package com.znkj.dao;
import com.znkj.entity.User;
/**
*
* @TODO 使用者的dao接口
* @author hans
* @date 2018年3月22日下午2:07:10
*
*/
public interface UserDao {
//登入驗證
public User login(User user);
}
2.3 com.znkj.mapper 包下的UserDaoMapper.xml :sql操作資料
<?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.znkj.dao.UserDao">
<!-- 使用者登入驗證 -->
<select id="login" parameterType="com.znkj.entity.User" resultType="com.znkj.entity.User">
select id,account,password from user
where account=#{account} and password=#{password}
</select>
</mapper>
2.4 UserService接口:邏輯處理的接口
package com.znkj.service;
import com.znkj.entity.User;
/**
*
* @TODO 有關使用者的service接口
* @author hans
* @date 2018年3月22日下午2:05:17
*
*/
public interface UserService {
//登入驗證
public User doLogin(User user);
}
2.5 UserServiceImpl實作類:邏輯處理
package com.znkj.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.znkj.dao.UserDao;
import com.znkj.entity.User;
import com.znkj.service.UserService;
/**
*
* @TODO 有關使用者的邏輯處理層
* @author hans
* @date 2018年3月22日下午2:09:13
*
*/
@Service("userService")
public class UserServiceImpl implements UserService{
@Autowired
UserDao userDao;
@Autowired
User user;
/**
* @see 使用者登入
*/
@Override
public User doLogin(User user) {
user=userDao.login(user);
return user==null?null:user;
}
}
2.6 UserController :接收頁面請求,分發請求
package com.znkj.controller;
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.ResponseBody;
import com.znkj.entity.User;
import com.znkj.service.UserService;
/**
*
* @TODO 有關使用者的controller
* @author hans
* @date 2018年3月22日下午2:00:24
*
*/
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
UserService userService;
/**
*
* @TODO
* @author hans
* @since http://localhost:8080/Try/user/login
*/
@ResponseBody
@RequestMapping("login")
public User login(User user){
System.out.println("請求登入的使用者為:"+user.toString());
return userService.doLogin(user);
}
}
2.7 使用者登入頁面 webapp下建立login.jsp
<%@ 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=ISO-8859-1">
<title>使用者登入頁面</title>
</head>
<body>
<form action="/Template/user/login" method="post">
賬戶:<input name="account"><br>
密碼:<input name="password"><br>
<input type="submit" value="登入"/>
</form>
</body>
</html>
打開 http://localhost:8080/Template/login.jsp 輸入
點選登入,頁面彈出
到此,整個項目就運作ok,可以用來寫自己的功能子產品了。