一.SpringBoot
入门
1.SpringBoot
程序入门制作(1)
步骤:
(1)创建新模块,选择Spring Initializr
,并配置相关基础信息
(2)选择当前页面要使用的技术集
(3)开发控制器类
/**
* 标记了 @Controller 的类就是一个 handler 类
* handler 类在 SpringBoot 中的作用就是: 其内部的方法可以接收请求,处理请求,返回响应
*/
@Controller
public class TestController {
/**
* 标记了 @RequestMapping 的方法就是一个 handler 方法
* handler 方法在SpringBoot中的作用就是接收请求,处理请求,返回响应
*
* @RequestMapping("/hello") 表示接收 /hello 请求
*/
@RequestMapping("/hello")
public void hello(HttpServletRequest request, HttpServletResponse
response) throws IOException {
System.out.println("hello world");
// 接收请求参数
String name = request.getParameter("name");
System.out.println("name = " + name);
// 响应内容
response.getWriter().write("hello springboot");
}
/**
* 返回页面
* @return 逻辑视图名称
*/
@RequestMapping("/index")
public String index(){
// 逻辑视图名称
return "index";
}
}
(4)运行自动生成的Application
类
@SpringBootApplication
public class JavaspringbootApplication {
public static void main(String[] args) {
SpringApplication.run(JavaspringbootApplication.class, args);
}
}
2.访问HTML
页面
Springboot
中访问页面需要借助视图解析器,我们可以利用现有的第三方 jar 实现。 常见的有:
freemaker
volecity
thymeleaf
导入thymeleaf
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
thymeleaf
的依赖导入后,视图解析器会自动配置, thymeleaf
要求默认将页面放在 resources
下的
templates
目录下。
@RequestMapping("/index")
public String index(){
// 逻辑视图名称
return "index";
}
- @
RequestMapping
表示当请求/index
是会调用当前方法 - 方法返回值 String 表示逻辑视图名称:
逻辑视图要经过视图解析器(thymeleaf
的视图解析器)去解析之后得到物理视图
thymeleaf
的视图解析器默认会将逻辑视图名解析为templates/
逻辑视图名称 .html
3.SpringBoot
程序入门制作(2)
开发SpringBoot
程序,可以不基于任意的IDE
工具进行,其实在SpringBoot
的官网里面就可以直接创建SpringBoot
程序
4.SpringBoot
程序入门制作(3)
5.SpringBoot
程序入门制作(4)
6.静态资源
SpringBoot
中静态资源(如:css/js/images/font/mp3/mp4
)可以默认放到 resources/static
目录。
访问时不需要加 /static
7.参数绑定
在 handler
方法中可以直接在形参中声明 HttpServletRequest
以及 HttpServletResponse
这两个
参数, SpringBoot
会直接传递到方法中。
这时因为有了 request 对象所以可以通 过 getParameter
方法根据请求参数名称获取到参数值。
SpringBoot
可以简化获取参数的 过程,在 handler 方法形参列表中声明指定类型参数框架可以直接根
据形参名称在请求中 获取对应的请求参数并绑定。
比如: 发送的请求是: http://localhost:8080/hello?name=admin&age=18,我们可以通过以下 方式的
形参列表获取到请求中的参数.
public void getParams(String name, int age){}
@Request("请求参数里面的key")
形参变量名,将请求参数里面的key的值和方法形参的变量名一一对应
8.重定向和请求转发
public String reginster(){
return "reginster";
}
//找的是reginster.html页面
public String redirect(){
retun "redirect:/index"
}//重定向 找的是请求
public String forward(){
retun "forward:/index"
}//请求转发 找的是请求
9.如何取域里面的值
-
引入
thymeleaf
命名空间:<html lang="en" xmlns:th="http://www.thyeleaf.org">
-
取值
<P th: text="${session.longuser.name}"> </P>