params 过滤请求,只有请求中包含某个参数,才会执行,比如@RequestMapping(value = "",params = "flag"),只有参数中包含flag才会执行,不然不能访问,:8080/cat?true=flag这个地址是访问不到的,正确的地址是:8080/cat?flag=true才可以正常访问
headers 和params类似,只有请求headers里面包含某个key才可以访问方法
b).JSP端代码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1> ${hi} </h1> </body> </html>这个jsp只做了一件事,把java类里面的${hi}标签的值显示出来。
5.运行程序到此为止,如果您使用的是IDEA开发工具,那么现在就可以运行调试程序了,直接运行Index.jsp或者启动文件,或者启动文件(Application.java)即可,然后在浏览器输入::8080/cat 即可查看。
三、生产环境部署 部署步骤下载安装Tomcat
入口类继承SpringBootServletInitializer重写configure方法
配置pom.xml
IDEA生成war文件
配置Tomcat运行项目
1.下载安装Tomcat下载地址:https://tomcat.apache.org/download-90.cgi
如下图所示:
Windows下载:64-bit Windows zip | Linux下载:tar.gz
注意:如果是Windows版下载的免安装版如果放到C盘的话,注意给文件夹分配足够的权限,不然启动之后访问页面显示400或者505类似的问题。
2.入口类继承SpringBootServletInitializer重写configure方法如果要进行生产环境部署,需要单独配置一下Spring Boot 的入口类,需要继承SpringBootServletInitializer类,重写configure方法,因为默认情况外部Tomcat不能读取到Spring Boot 入口类的main方法启动程序加载,使用需要继承,代码如下:
package com.hellospringboot.hellospringboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; /** * 启动类,程序入口 */ @SpringBootApplication public class HelloSpringBootApplication extends SpringBootServletInitializer{ /** * 重写configure方法,加载启动类 * @param application * @return */ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(HelloSpringBootApplication.class); } /** * Spring Boot 默认main方法 * @param args */ public static void main(String[] args) { SpringApplication.run(HelloSpringBootApplication.class, args); } } 3.配置pom.xml需要配置一下pom.xml,排除一下内置tomcat的jar包,防止打包之后与外面Tomcat jar 包冲突,导致项目启动失败,配置如下:
<!--排除内置tomcat jar包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>主要的代码是provided,设置打包不会包含进去,由其他设施提供。
4.IDEA生成war文件 步骤一:修改生成jar为war格式找到:
jar
修改为:
war
为什么需要修改jar包格式为war,因为如果打包为jar包的时候,不会包含JSP文件,所以访问的时候回404,而打包为war的时候回包含JSP文件,所以需要把打包格式修改为war.
jar和war的区别?
jar(java application archive)java应用程序库,通常为开发引用的通用类
war(web application archive)web应用程序
所以从jar和war的区别来看,网页程序打包成war格式也是很合适的。
如果需要修改生成文件的文件名称,可以设置build下的finalName属性,代码如下:
<build> <finalName>name</finalName> </build> 步骤二:使用IDEA生成war包选择菜单栏Build => Build Artifacts.. => 点击Rebuild,即可生成war包,如图:
生成完之后,在项目的target目录下找到生成war文件,如下图:
5.配置Tomcat运行项目 步骤一:把war文件复制到tomcat的webapps目录下 步骤二:配置conf/server.xml