佛山新网站建设/seo博客网址
遇到的问题
jdk环境配置
- 环境配置的时候冲突了,最后发现f盘里java那个文件放的就是jdk
注意要在环境变量里面配置jdk路径,同时在idea里面要在文件下面的文件结构中的jdk配置 - Invalidate Caches/Restart清理一下idea缓存。因为如果之前用过老版本的springboot开发,下次新建
springboot项目,idea默认会缓存父依赖项信息,当引入本地仓库不存在的父依赖版本时,就会报错:找不到依赖申明。而引用本地仓库已存在的依赖版本并不会报错,因此才推断出是idea缓存的原夕清除缓存之后,重启,刷新pom.xml,发现自动下载新版本的springboot了,下载完成后不再爆红
文件名和路径
mapping作用如其名,始终是==./mapping内的值==
直接返回jsp页面时,映射的是return对应的文件
需要返回数据+页面时,映射的是mv.setViewName内对应的视图文件
一些需要理解的东西
JSP和html
协议上行加上
<%@page contentType=“text/html; UTF-8” pageEncoding=“UTF-8” %>
后缀名是.jsp
jsp动态加载,不用重跑项目
一般直接加了东西,在页面直接刷新就可以了,如果不行:
- 加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId>
</dependency>
- 配置
jdk直接返回内容到页面 完成过程
- 先创建一个空项目
- 空项目中创建springboot项目-选择java和maven以及域名为com.x-勾选springweb服务
- 创建完成之后在com.x下面创建模块
- 在模块中书写代码注意要@controller@RequestMapping(“/hello”)@ResponseBody
- 最后在入口文件中启动的项目
- 然后在本地服务器里访问localhost:端口号
jdk返回student类中的数据
@RequestMapping("/student")@ResponseBodypublic student students(){student stu = new student();stu.setAge(2);stu.setName("wanghua");stu.setScore(98);stu.setId(1111);return stu;}
import java.io.Serializable;可串行化接口?
import java.io.Serializable;public class student implements Serializable {private int id;private String name;private int age;private int score;public student() {}public student(int id, String name, int age, int score) {this.id = id;this.name = name;this.age = age;this.score = score;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}public String toString() {return "id:" + id + ", name:" + name + ", age:" + age + ", score:" + score;}
}
jsp环境搭建与javaee
思维理解过程
- 只有两个注解而不写@ResponseBody时无法访问到返回的东西
- 此时static里放置静态页面是可以通过路径在页面访问的,但是Webapp无论是否jsp or html都不可以访问到
- 加上jsp的一个依赖
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency>
构建依赖完成后在application.properties文件下加上
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
package com.lsm.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {@RequestMapping("/test")public String test01() {return "test01";}}
就会和Controller下的TestController中的返回值(这个是自己写的文件)构建为一个访问路径 注意此时只用访问mapping的路径(而不是对应的文件.jsp)(但是由于前面的配置所以实际访问的是/return返回值.jsp这个文件)
-
配置工作目录
-
当能寻找到webapp目录下的jsp文件,那么webapp下的html文件也可以找到
使用jsp+传数据
package com.lsm.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
public class TestController {@RequestMapping("/test")public ModelAndView test01(ModelAndView mv) {mv.addObject("msg", "传数据");mv.setViewName("test01");System.out.println("test01");return mv;}}
视图名是jsp的文件名
日志输出
- 某个类的固定格式不想写,就用@Data会导入lombok
- @Slf4j就可以用了
- 日志也就可以用的了