SpringBoot开发小记

SpringBoot的js,css文件路径

Springboot 正确引用js的方法,注意一下三点

  1. 如果Controller类名上有RequestMapping("/aa"),src中要写两个点,static文件夹中的直接引用,使用src="../js/jquery-3.3.1.min.js"
  2. 在index.html中引入JS文件时,直接的写法src="./js/sockjs.min.js"
  3. jquery应该在个人和引用的js前才行
<script src="../js/jquery-3.3.1.min.js"></ script>
<script src="../js/bootstrap.min.js"></ script>
<link rel="stylesheet" href="../css/bootstrap.min.css">
<script src="../js/consultant.js"></ script>

在JS文件中获取项目路径使用时直接调用方法即可

function getRootPath() {
    //获取当前网址,如: http://localhost:8088/proj/proj.jsp
    var curPath = window.document.location.href;
    //获取主机地址之后的目录,如: proj/proj.jsp
    var pathName = window.document.location.pathname;
    var pos = curPath.indexOf(pathName);
    //返回主机地址http://localhost:8088
    return curPath.substring(0, pos);
}

function getRootProjectPath() {
    //获取当前网址,如: http://localhost:8088/proj/proj.jsp
    var curPath = window.document.location.href;
    //获取主机地址之后的目录,如: proj/proj.jsp
    var pathName = window.document.location.pathname;
    var pos = curPath.indexOf(pathName);
    //获取主机地址,如: http://localhost:8088
    var localhostPath = curPath.substring(0, pos);
    //获取带"/"的项目名,如:/proj
    var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
    return (localhostPath + projectName);//http://localhost:8088/proj
}

SpringBoot的@Valid注解的使用错误示例

@valid注解注释一个参数以后必须紧跟着BindingResult参数,否则会报Field error in object ‘xxx’ on field ‘xxx’: rejected value错误

==正确写法==
public void loginPost(@Valid Access access, BindingResult validate, HttpSession session) {}
==错误写法==
public void loginPost(@Valid Access access, HttpSession session, BindingResult validate) {}

SpringBoot访问地址遇到404

按照下列步骤检查:
首先: 确定配置的前后缀是否和文件一致。

# 如果是idea,默认的位置是webapp :
# 配置前缀,默认的位置是src/main/webapp 这里可以更换,比如/pages/ 那么目录就变成了src/main/webapp/pages
spring.mvc.view.prefix=/pages/
# 后缀
spring.mvc.view.suffix=.html

# 如果是eclipse,默认的位置是/resources/static:
# 配置前缀,默认的位置是src/main/resources/static 这里可以更换,比如/pages/ 那么目录就变成了src/main/resources/static/pages
spring.mvc.view.prefix=/pages/
# 后缀
spring.mvc.view.suffix=.html

第二: 是否配置了项目别名。

# 如果不配置http://127.0.0.1:8000/index
# 项目启动别名,配置了以后 http://127.0.0.1:8000/name/index
server.servlet.context-path=/name

第三: Controller里面是否mapping路径一致,是否有二级路径。

@Controller
@RequestMapping("/index") //一级路径
public class StudentController {

	@Autowired
	private StudentService studentService;
	
	@RequestMapping("/demo") //二级路径
	public String getAllStudent() {
		//code
	}
}

第四: @SpringBootApplication启动类是否扫描了项目Controller,Service等等所在的包。
直接查看项目是否是如下结构:
在这里插入图片描述
可以看到笔者所有的功能包和类都在启动类ShareCodeApplication的包com.example.demo下,由于@SpringBootApplication注解默认只会扫描该类所在的包(父包)以及其下的包(子包),因此如果写到别的地方就无法扫描到,因此也无法访问到Controller,错误示范如下,可以对比体会下:
在这里插入图片描述
第五: @SpringBootApplication由于某些原因确实无法实现上述结构怎么办。
可以手动指定扫描包@SpringBootApplication(scanBasePackages = "com.example.demo"),由于scanBasePackages是一个数组,因此我们也可以指定多个包@SpringBootApplication(scanBasePackages = {"com.example.demo","com.example.controller"})确保需要用到的类都被扫描到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值