一. 搭建springboot web工程
1. 新建Maven工程
2. 写pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hongsen</groupId> <artifactId>springboot-jsp2</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>springboot-jsp2 Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <!-- 将当前项目作为springboot-starter的子模块 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- servlet依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- Tomcat的支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- 引入Maven依赖mysql,jdbc --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies> </project>
保存后Eclipse开始下载jar包
3. 若有以下报错:
执行:项目右键 - maven - update project
4. 添加tomcat
创建Dao层
package com.hongsen.dao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Repository; import com.hongsen.domain.Visitor; @Repository public class VisitorDao { @Autowired private JdbcTemplate jdbcTemplate; //用来操作数据库 /** * 增加 * @param visitor */ public void save(Visitor visitor) { jdbcTemplate.update("insert into visitor(name) values(?)", visitor.getName()); } /** * 查询 * @param id * @return */ public Visitor get(int id) { RowMapper<Visitor> rowMapper = new BeanPropertyRowMapper<Visitor>(Visitor.class); Visitor visitor = jdbcTemplate.queryForObject("select * from visitor where id=?", rowMapper,id); return visitor; } }
创建Service层
package com.hongsen.service; import com.hongsen.domain.Visitor; public interface IVisitorService { public void save(Visitor visitor); Visitor get(int id); }
package com.hongsen.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hongsen.dao.VisitorDao; import com.hongsen.domain.Visitor; @Service public class VisitorServiceImpl implements IVisitorService { @Autowired private VisitorDao dao; @Override public void save(Visitor visitor) { // TODO Auto-generated method stub dao.save(visitor); } @Override public Visitor get(int id) { // TODO Auto-generated method stub return dao.get(id); } }
创建Controller层
package com.hongsen.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.ReadOnlyProperty; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.hongsen.domain.Visitor; import com.hongsen.service.IVisitorService; @Controller public class VisitorController { @Autowired private IVisitorService visitorService; @RequestMapping("/visitor/save") public String save(String name) { Visitor visitor = new Visitor(); visitor.setName(name); visitorService.save(visitor); return "save success"; } @RequestMapping("/visitor/get") public Visitor get(int id) { Visitor visitor = visitorService.get(id); return visitor; } }
5. 写App.java主程序在根目录
package cn.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication //标记为springboot的应用 public class App { public static void main(String[] args) { //启动应用 SpringApplication .run(App.class, args); } }
6. 配置application.properties对jsp支持
在resources创建一个file文件叫application.properties
server.port=80 #config the prefix and suffix of views spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp #datasource spring.datasource.url = jdbc:mysql://localhost:3306/rtosxz spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driverClassName = com.mysql.jdbc.Driver #datasource pool spring.datasource.max-active=20 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=10
7. 在webapp - WEB-INF 下创建jsp文件夹,创建jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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>Insert title here</title> </head> <body> <p> ${hi} </p> </body> </html>
这里的${ }里是controller里的model.addAttribute("hi","welcome");第一个值
7.运行App.java
8. 浏览器输入http://localhost:80/hello 就可访问,结果是:您好
输入http://localhost/visitor/save?name=张三,结果是save success。数据库里有了新的数据