一、创建Maven工程

创建maven工程,packaging 类型选择jar。

二、配置相关maven依赖。

1,首先你需要在pom中最上方添加spring boot的父级依赖,这样当前的项目就是Spring Boot项目了。

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.13.RELEASE</version><relativePath />
</parent>

2,你要创建Spring Boot web工程则需要添加springboot web 的starter(jar)依赖。该依赖会将spring web mvc 开发所需要的依赖全部都引入进来。

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

3,完整的pom如下;

<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xiaohui.demo</groupId><artifactId>bootdemo</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.13.RELEASE</version><relativePath /></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>

三、application.properties配置

在web开发中配置文件中server配置项比较多,需要在网上进行查阅,实例仅做常用简单的配置指定应用名称以及端口号:


#servlet容器配置
server.port=8080
server.context-path=/WebDemo

四、创建package 编写启动类 、Controller 以及拦截器实例

Spring Boot默认会扫描启动类同包以及子包下的注解,实现的途径就是必须在启动类引入注解@ComponetScan。项目中引入了注解@SpringBootApplication 这就意味(本质上)引入注解@ComponetScan,所以就会扫描Application.Class所在包以及子包的注解。所以在本示例中可以省略@ComponetScan注解

1,Application.java启动类代码如下:

package com.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.context.annotation.ComponentScan;//@ComponentScan("com.demo")
@SpringBootApplication
public class Application {public static void main(String[] args){SpringApplication.run(Application.class, args);}
}

2,Controller 代码如下:

package com.demo.controller;import java.util.ArrayList;
import java.util.List;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;import com.demo.bean.User;@Controller
@RequestMapping(value="/user")
public class UserController {@ResponseBody@RequestMapping(value="/userList",method=RequestMethod.GET)public List<User> getUserList(){User user = new User();user.setId("11111");user.setName("zhangsan");User user2 = new User();user2.setId("22222");user2.setName("lisi");List<User> list = new ArrayList<User>();list.add(user);list.add(user2);return list;}}
package com.demo.controller;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping(value="/cour")
public class CourController {@RequestMapping(value="/courList",method=RequestMethod.GET)public List<Map<String,String>> getCourList(){List<Map<String, String>> list = new ArrayList<Map<String, String>>();Map<String, String> cour = new HashMap<String, String>();cour.put("name", "数学");Map<String, String> cour2 = new HashMap<String, String>();cour2.put("name", "计算机");list.add(cour);list.add(cour2);return list;}
}

在编写Controller中使用到的注解:

@Controller:Spring Mvc中所使用的注解,表示该类为Controller(处理器),在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。

@RequestMapping:Spring Mvc中所使用的注解,定义请求url到处理器功能方法的映射。使用方法上面以及在类上面。

@ResponseBody:Spring Mvc中所使用的注解,该注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端,本示例中则是将返回结果以JSON形式进行返回到前端浏览器。

@RestController:是@Controller和@ResponseBody的合并作用。使用在类上面。使用该注解后,所有方法都可以省略@ResponseBody注解。并且所有方法上的请求都将以JSON形式返回到浏览器上。

3,LoginFilter拦截器类代码如下:

编写拦截器需要创建类实现javax.servlet.Filter接口,在doFilter方法中可以进行拦截判断处理。在类上需要加上拦截器注解,指明拦截的路径@WebFilter(urlPatterns = "/*", filterName = "loginFilter")。拦截器其他属性可以自行查询

package com.demo.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Component;@Component
@WebFilter(urlPatterns = "/*", filterName = "loginFilter")
public class LoginFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException { }@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletRequest hrequest = (HttpServletRequest)request;System.out.println("LocalAddr:"+hrequest.getRequestURI());chain.doFilter(request, response);}@Overridepublic void destroy() {}}

四、测试验证:

启动项目后我们访问路径;

代码参考:https://github.com/liuhenghui/SpringBootDemo/commit/33c51d7fca85de309845549019ade0b8312cc067

spring boot web 开发示例相关推荐

  1. Spring boot web开发实战

    Spring boot项目创建好之后,如何引入静态资源: 1).webjars:直接以maven的方式把包导入进来 <!‐‐引入jquery‐webjar‐‐>在访问的时候只需要写webj ...

  2. Spring Boot web开发(未完待续)

    addViewController请求 attention: 想要把网站的图标换掉就在static下放一个 favicon.ico 的图标图片即可 Spring MVC 5.0.5官方文档 stati ...

  3. spring boot web开发------自定义springmvc配置

    1.如何自定义springmvc配置 旧的springmvc配置文件 <?xml version="1.0" encoding="UTF-8"?> ...

  4. Spring Boot Web 开发相关总结

    2019独角兽企业重金招聘Python工程师标准>>> 1. 表单验证 首先, 在实体类的需要验证的字段上添加添加验证注解, 验证注解类主要在 validation-api-1.1. ...

  5. Spring boot web(2):web综合开发

    1 web开发 Spring boot web 开发非常简单,其中包括常用的 json输出.filters.property.log等 1.1 json接口开发 在以前的Spring 开发我么提供js ...

  6. Spring Boot Web

    一. 概述 下面我们将进入 SpringBoot 基础阶段的学习. 在没有正式的学习 SpringBoot 之前,我们要先来了解下什么是 Spring . 我们可以打开 Spring 的官网 ( ht ...

  7. Spring Boot Web应用程序中注册 Servlet 的方法实例

    Spring Boot Web应用程序中注册 Servlet 的方法实例 本文实例工程源代码:https://github.com/KotlinSpringBoot/demo1_add_servlet ...

  8. okta-spring_通过Okta的单点登录保护Spring Boot Web App的安全

    okta-spring "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多 ...

  9. 通过Okta的单点登录保护Spring Boot Web App的安全

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 您可以使 ...

最新文章

  1. 数据库权限的分配与回收
  2. c#设置图片的dpi_被忽视的鼠标设置,影响瞄准的关键因素就是它!
  3. RedHat7安装Tomcat
  4. Linux Shell脚本_禁止定时任务发送邮件
  5. Linux内核代码 分析大纲思维导图
  6. charles都踩过哪些坑_野路子14年 不如“缠论”1年 收益翻20倍
  7. C语言学习笔记---数据拷贝函数memcpy()和memmove()函数
  8. Python基础(循环控制语句break/continue)
  9. xftp6无法使用处理
  10. 力扣-1022. 从根到叶的二进制数之和
  11. 1、Python基本对象类型----数字
  12. mac 删除文件夹里所有的.svn文件
  13. 《HBase权威指南》一第1章 简介
  14. hpm1216nfh驱动程序_惠普m1216nfh
  15. 想法随笔——知乎段子
  16. 计算机网络密码凭据,win7系统共享提示输入网络凭据用户名密码的解决办法
  17. oracle监听生成trace,监听器控制程序lsnrctl跟踪trace file
  18. matlab 524288,Cannot display summaries of variables with more than 524288 elements. 怎么...
  19. openresty完全开发指南_谷歌 Fuchsia OS 进入开发者测试阶段,它真的会代替安卓吗?...
  20. Java使劲浪费内存-List查询一千万条数据重复次数

热门文章

  1. web command line : http://yubnub.org/
  2. 求两等长升序序列的中位数
  3. Python利用PyPDF2库获取PDF文件总页码
  4. Jsp之我遇到过的中文乱码问题和解决方法
  5. 基于IDEA搭建JavaWeb入门项目结构(2021版)
  6. python爬虫中文乱码_Python爬虫处理抓取数据中文乱码问题
  7. excel重复上一步快捷键_工作再忙也要学会的十个Excel快捷键
  8. JavaScript(五)——错误处理
  9. using filesort和using temporary
  10. 北京玉渊潭开启春节模式 五大版块吸引游客