springboot:简化了ssm的xml配置,自带tomcat服务器;
什么是springboot?
1) Spring Boot使编码变简单
2) Spring Boot使配置变简单
3) Spring Boot使部署变简单
4) Spring Boot使监控变简单
SpringBoot是伴随着Spring4.0诞生的;
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
SpringBoot帮助开发者快速启动一个Web容器;
SpringBoot继承了原有Spring框架的优秀基因;
SpringBoot简化了使用Spring的过程。
Spring+SpringMVC+Mybatis开发框架ssm框架demo搭建|html|jsp
step1:java环境配置,安装jdk8,此步略。
step2:工具准备,安装java版eclipse
step3:安装 Spring Tool Suite
help->Install New Software->通过下面地址进行安装
http://download.springsource.com/release/TOOLS/update/e4.9/
step4:重启eclipse
多了如上图标,这表示工具安装成功。
step5:手动创建springboot项目
New->Project->Spring Boot->Spring Starter Project
step6:项目名称
step7:根据你项目具体情况进行选择,这里选择Web+Mysql+DevTools+MyBatis+Thymeleaf
目录及文件创建情况:
step8:文件源码:
DolearnApplication.java:自动创建
StringUtil.java
package com.example.demo.common;
public class StringUtil {
public static boolean isNullOrZero (String str) {
if(str == null || str.trim().length() == 0) {
return true;
}
return false;
}
}
controller层: LoginController.java
package com.example.demo.controller;
import org.mybatis.spring.annotation.MapperScan;
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.RequestMethod;
import com.example.demo.entity.Member;
import com.example.demo.service.IMember;
@Controller
@MapperScan("com.example.demo.dao") //mapper扫描
public class LoginController{
@Autowired
IMember iMemberFunc;
@RequestMapping(value = "/hello")
public String hello(){
System.out.println("Hello");
return "Log";
}
@RequestMapping(value = "/login",method = RequestMethod.GET)
public String addUser1(String name,String password) {
System.out.println("loginName is:"+name);
System.out.println("loginPassword is:"+password);
try {
Member member = iMemberFunc.login(name, password);
if(member == null){
System.out.println("登录失败");
return "Log_fail";
}else {
System.out.println("登录成功");
return "Log_success";
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage());
System.out.println("登录异常");
}
return null;
}
}
dao层: MemberDao.java
MemberDao.java
package com.example.demo.dao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.example.demo.entity.Member;
import org.apache.ibatis.annotations.Select;
//@Mapper
public interface MemberDao {
@Select("select * from Member where name = #{name}")
Member selectMemberByName(@Param("name")String name)throws Exception;
}
实体类: Member.java
Member.java
package com.example.demo.entity;
public class Member {
private int id;
private String name;
private String password;
public Member(){}
public Member(int id, String name, String password) {
super();
this.id = id;
this.name = name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Member [id=" + id + ", name=" + name + ", password=" + password
+ "]";
}
}
service接口层: IMember.java
IMember.java
package com.example.demo.service;
import com.example.demo.entity.Member;
public interface IMember {
Member login(String name, String passsword) throws Exception;
}
service接口实现层: IMemberImpl.java
MemberImpl.java
package com.example.demo.service;
import com.example.demo.service.IMember;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.common.StringUtil;
import com.example.demo.entity.Member;
import com.example.demo.dao.MemberDao;
@Service
public class MemberImpl implements IMember {
@Autowired
private MemberDao mDao;
public Member login(String name, String password) throws Exception {
// System.out.println(name + password);
if (StringUtil.isNullOrZero(name)) {
System.out.println("登录名不能为空");
return null;
}
if (StringUtil.isNullOrZero(password)) {
System.out.println("密码不能为空");
return null;
}
Member member = mDao.selectMemberByName(name);
if (member == null)
System.out.println("登录名错误");
if (member != null&&member.getName().equals(name)&&!password.equals(member.getPassword())) {
System.out.println("密码错误");
return null;
}
return member;
}
}
视图层: Log_fail.html
Log_fail.html
<!DOCTYPE html>
<html>
<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>登录失败</title>
<style>
.center {
margin: auto;
width: 20%;
border: 3px solid #73AD21;
padding: 5px;
text-align: center;
}
</style>
</head>
</head>
<body>
<div class="center">
<h1>登录失败</h1>
<div class="alert alert-warning" role="alert">账号或密码错误</div>
<span class="btn btn-default"> <a href="/hello" role="button"> [返回]</a></span>
</div>
</body>
</html>
视图层: Log_success.html
Log_success.html
<!DOCTYPE html>
<html>
<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>登录成功</title>
<style>
.center {
margin: auto;
width: 20%;
border: 3px solid #73AD21;
padding: 5px;
text-align: center;
}
</style>
</head>
<body>
<div class="center">
<h1>登录成功</h1>
<span class="btn btn-default"> <a href="/hello" role="button"> [退出]</a></span>
</div>
</body>
</html>
视图层: Log.html
Log.html
<!DOCTYPE html >
<html >
<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>登录页面</title>
<style>
.center {
margin: auto;
width: 15%;
border: 3px solid #73AD21;
padding: 5px;
text-align: center;
}
</style>
</head>
<body>
<div >
<div class="center">
<form action="/login" >
<input type="text" name="name" value="" placeholder="用户名"> <br>
<input type="password" name="password" value="" placeholder="密码"><br>
<input type="submit" name="" value="登录">
</form>
</div>
</div>
</body>
</html>
application.properties
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=123456
#mybatis.config-location=classpath:mybatis-config.xml
#mybatis.mapper-locations=classpath*:mapper/**/*.xml
mybatis.type-aliases-package=com.example.demo
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
数据库member表
运行项目,浏览器访问
以上文章转载于这个大佬鼠的csdn:https://my.oschina.net/guiguketang/blog/2252343
大家可以多多关注一下这只大佬鼠的博客和文章哦~