本来想早点完成这篇文章的,奈何一方面使用springboot建立的项目要么是访问不到静态资源,要么就访问不到html页面,完不成demo,另一方面就是这段时间工作比较忙,来不及继续探究资源访问不到的问题。终于实在今晚闲下来了,完成这边文章。最初的立意是为了通过实现简单的登录功能展示如何使用springboot来开发web项目的,但是最后不得不变为重点放在解决如何访问静态资源的问题。
项目文件结构
数据库准备
简单地在MySQL上建立了一个h_user的表,用于存储用户账号和密码
h_user表sql语句如下:
SETFOREIGN_KEY_CHECKS=0;CREATETABLE`h_user`(`pk_id`int(11)NOTNULLAUTO_INCREMENT,`user_name`varchar(50)NOTNULL,`login_name`varchar(50)NOTNULL,`password`varchar(50)NOTNULL,PRIMARYKEY(`pk_id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8ROW_FORMAT=DYNAMIC;INSERTINTO`h_user`VALUES(1,张三,zhangsan,);INSERTINTO`h_user`VALUES(2,李四,lisi,);
Java实现代码
1、controller层代码
controller2、service层代码
service3、serviceimpl层代码
serviceimpl4、dao层代码(使用注解开发)
dao配置文件
1、application.yml文件配置项。这里我是采用的yml文件作为配置文件,结构比properties文件更加清晰。配置了端口和项目名‘/dulucy’,需要注意的是mvc和resources的配置,不然可能会出现无法访问静态资源的问题。
application.yml文件2、配置daoceng扫描
这个是在启动类上使用注解配置的。
配置dao层扫描3、pom.xml配置
虽然我们使用了springboot来使得jar包导入更加简便,我这里还是手动添加了几个jar包。
pom.xml编写html页面
1、登录页面
前台是基于layui做的,切换成其他框架是一样的。
2、登录成功页面
遇到的问题及解决方案
1、无法访问静态资源问题
这篇文章最主要卡的地方就是这里,从开发来说,这其实就是一个很小的问题,但是就是没弄明白怎么回事。刚入门学习springboot,和之前的配置相比简化了很多,遇到相同的问题,反而不知道怎么处理。最开始参考了很多博客主的教程,都说添加
spring:mvc:view:suffix:.htmlstatic-path-pattern:/**resources:static-locations:classpath:/templates/,classpath:/static/
就可以访问,实际上可以分开访问到html或者静态图片,但是在html中引用静态资源就报。
本想着直接用html开发,不使用springboot官方推荐的thymeleaf模板开发,实在进行不下去了,在pom.xml引入thymeleaf后,居然能够访问html和静态资源了。具体的底层的不是很懂,但就是这样解决问题了。
推荐3篇相关的文章:
1、SpringBoot系列入门——IDEA搭建简易SpringBoot项目
2、Java非对称加密算法实现登陆账号密码加密传输功能
3、mybatis使用注解编写动态sql注意事项