可参考博文:
搭建Spring Boot 项目
使用idea解决新建jsp文件而找不到jsp文件模版的新建选项

(一)快速搭建Web 项目

博主使用的是IDEA ,下面是项目目录结构:在用IDEA 创建Spring Boot 项目时,是没有webapp 目录的,所以增加了webapp 目录以及webapp 下的static(用于存放静态资源) 和 WEB-INF (用于存放jsp 页面资源)目录。

首先在pom.xml 中添加jsp 相关的依赖。

        <dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>compile</scope></dependency>

在application.properties 配置文件中配置相关的信息。

#设置上下文访问路径
server.context-path=/springboot
#设置jsp 访问资源前缀
spring.mvc.view.prefix=/WEB-INF/views/
#设置jsp 访问资源后缀
spring.mvc.view.suffix=.jsp

在配置文件中配置了试图解析器的前缀与后缀后下面就来测试一下,我编写了一个HelloController 用于进行页面的转发。

@Controller
public class HelloController {/*** 访问"hello" 时,转发到"index.jsp" 页面*/@RequestMapping("/hello")public String sayHello(){return "index";}
}

index.jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><h1>Hello Spring Boot</h1>
</body>
</html>

然后在浏览器访问”hello”,发现成功访问到了index.jsp 页面。

(二)Spring Boot 处理静态资源

2.1Spring Boot 处理静态资源的方式

  • 在src/main/webapp 目录下,可以直接访问。
  • Spring Boot 提供了默认的静态资源访问路径。
  • 通过spring.resources 前缀在配置文件中配置静态资源的路径。

下面是Spring Boot 默认的四个静态资源访问路径。

2.2效果演示

这里只演示访问在src/main/webapp 目录下的静态资源。在static 目录下存在着一张图片。

然后就可以通过路径访问到了(为了显示效果,不再贴出显示的图片)。

(三)在Spring Boot 下使用servlet API

3.1开发Servlet

3.1.1基于注解的Servlet 开发

Servlet 开发步骤:

  1. 编写Servlet。
  2. 在入口类启用@ServletComponentScan 注解。PS:这个注解默认只扫描与入口类同级的包或其子包。

3.1.2效果演示

Servlet 类

@WebServlet("/test.do")
public class TestServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//向浏览器输出一句话response.getWriter().write("Hello Spring Boot!");}
}

入口类

// 因为Servlet 所在的包与该入口类所在的包不同,所以进行对应的设置
@ServletComponentScan(value = "com.jas")
@SpringBootApplication
public class SpringbootApplication {public static void main(String[] args) {SpringApplication.run(SpringbootApplication.class, args);}
}

效果

3.2开发Filter

以前在使用Servlet 开发Filter 时,需要先编写一个特定的类实现Filter 接口,然后在web.xml 配置文件中注册该过滤器,这样过滤器才能生效。这种方式显得有点复杂,所以Spring Boot 提供了@WebFilter 注解,来简化开发过程。只需要在实现Filter 类接口的类上加上该注解,这个过滤器就可以使用了。

过滤器TestFilter 类

// 设置拦截所有请求
@WebFilter("/*")
public class TestFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println("过滤器拦截到了请求!");chain.doFilter(request, response);}@Overridepublic void destroy() {}
}

在浏览器进行资源访问时,会在控制台输出。

3.3开发Listener

同过滤器Filter 一样,Listener 的开发也需要在web.xml 中进行注册。为此,Spring Boot 也提供了一个@WebListener 注解。

监听器TestListener 类

@WebListener
public class TestListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println("ServletContext 对象被创建了!");}@Overridepublic void contextDestroyed(ServletContextEvent sce) {}
}

在应用程序启动时,在控制台的输出如下(只截取了其中的一部分):

PS:可参考博文
Servlet 过滤器
Servlet 监听器

Spring Boot 开发web 项目相关推荐

  1. html资源文件放在哪里,09 Spring Boot开发web项目之静态资源放哪里?

    Spring Boot开发web项目之静态资源放哪里? 先了解自动装配autoconfiguration 这些内容是spring boot天然集成好的框架 找到WebMvcAutoConfigrati ...

  2. 使用Spring Boot开发Web项目

    前面两篇博客中我们简单介绍了spring Boot项目的创建.并且也带小伙伴们来DIY了一个Spring Boot自动配置功能,那么这些东西说到底最终还是要回归到Web上才能体现出它的更大的价值,so ...

  3. 【spring boot】5.spring boot 创建web项目并使用jsp作前台页面

    贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功 ...

  4. Spring Boot 开发web网页(helloworld为例)

    Spring Boot 开发入门--- helloworld web 一.使用IntellijIDEA建立第一个spring boot 项目(helloworld) 1.创建一个spring boot ...

  5. Spring Boot开发Web应用

    Spring Boot快速入门中我们完成了一个简单的RESTful Service,体验了快速开发的特性.在留言中也有朋友提到如何把处理结果渲染到页面上.那么本篇就在上篇基础上介绍一下如何进行Web应 ...

  6. Spring Boot - 开发Web应用

    为什么80%的码农都做不了架构师?>>>    原文 静态资源访问 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static ...

  7. Spring Boot之Web开发

    Web开发 简单了解 快速上手 JSON 的支持 RESTful 的支持 支持热部署 快速上手 拦截器与过滤器 自定义过滤器 示例 自定义拦截器 示例 打包部署 多环境配置 服务器配置 项目打包 简单 ...

  8. Gradle进阶:1: 结合spring boot进行web开发

    在前面的文章中介绍了如何使用gradle的基础知识,这篇文章在某种程度上才是真正意义上的第一个hello world,这里使用一个简单的spring boot的例子,通过gradle进行编译和构建以及 ...

  9. 通过docker-composer启动容器nginx,并完成spring.boot的web站点端口转发

    前面已经讲过2篇基于docker的mysql.redis容器编排并启动.这次将练习下nginx的docker方式的部署,以及通过nginx去代理宿主主机上的Web服务应该怎么配 PS:(这里由于ngi ...

最新文章

  1. 理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换
  2. cocos2dx 简单血量条实现
  3. Android ADB 用法
  4. pselect 和 select
  5. 我正在运行哪个版本的PostgreSQL?
  6. 银行叫号系统简易版,java集合练手
  7. aforge java_基于Aforge摄像头调用简单实例
  8. Java 代理中转下载 url 文件
  9. 用java写图形验证码,超级简单
  10. 用PS调出二次元风格水彩漫画风景图片
  11. Prolog 语言入门教程(转)
  12. 什么是支付通道,一篇文章了解支付通道理念
  13. 水电水利建设项目水环境与水生生态保护技术政策
  14. update与fixedupdate检测键盘输入的出现的问题
  15. 电脑下载速度一快电脑就卡的问题解决
  16. VBA将金额数字转成中文大写
  17. 为什么C标识符不能以数字开头
  18. 【腾讯云服务器+PicGo搭建自己的图床】利用腾讯云服务器搭建自己的私人图床
  19. 计算机程序式版面,版式设计基本程序!与版式基本形式
  20. 使用POI实现读取Excel数据并生成柱状图、折线图、饼状图的工具类

热门文章

  1. Spring5-IOC容器实现方式
  2. Red5 简单安装指南
  3. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】
  4. redis学习(五) redis实现购物车
  5. Android属性动画 ViewPropertyAnimator
  6. Kotlin实战指南二:变量、常量、静态常量
  7. Spring请求参数校验
  8. Android http Request / Response ContentType
  9. 解决IOS ATS禁止HTTP明文传输
  10. java.util.concurrent 包下面的所有类