开发者学堂课程【Spring Security知识精讲与实战演示(三):集中式整合之加入jsp】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/732/detail/13060
集中式整合之加入jsp
springboot是不推荐在springboot环境中使用jsp的,但是是
可以使用的。
如果要在springboot中使用jsp页面,启动类就不能用了,必须要在项目中导入启动的一个插件,就是用springboot的另外一个启动插件来启动项目,这样才能识别jsp。
也就是说,通过启动类这种启动方式是不识别jsp的。如果想让识别,可以换一种启动方式。
导入SpringBoot的tomcat启动插件jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId)>
<dependency>
<
dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dpendency>
打开pom.xml文件,将这两个启动的tomcat插件粘贴过来,导入成功。
要想导入页面,应该有一个文件夹放置页面,根据maven目录结构,src的main的java下面放置的是源码,src的resources放置的是正式的配置文件。
如果要放置界面,这两个文件夹都不能使用。如果要放置页面,页面是静态资源,静态资源要放置在webapp下。
在src的main下面在创建一个文件夹叫做webapp,创建完成之后发现这个文件夹的图标是灰色的,此时并不能使用,因为只有web工程才能被这个app识别。
当前的项目是一个java工程,需要将它转成一个web工程,最简单的一种方式就是在打包方式设置的地方添加
<package>war<package>,点一下让它自动加载,此时webapp文件夹的图标上会出现一个蓝色的小点,证明这个文件夹就可以使用了。
后面的web.xl都不需要创建了,这些是普通的web工程需要用到的东西,而这里使用的是springboot,他严格意义上来说不是一个web工程,而是一个java工程,所以就不需要创建web.xl了,只需要将静态资源粘贴到下面即可。
静态资源在第一天的案例项目下,找到src,main,webapp下面除WEB-INF之外全选,全部粘贴到webapp文件下。
粘贴时,如果点击文件夹粘贴会很慢,因为它要在文件夹下面的每一个文件里一个一个慢慢粘贴;为了简便,可以点击右键,打开show in explorer,然后找到想要粘贴对象所在的文件夹开始粘贴,这样做速度很快。静态资源导入完成。
一些需要修改的地方:
首先是login,这是自定义的验证页面,可以看到,只要点击登录,就会来到固定的login.jsp,将此处改为login即可,这样的话就是自动访问login的处理器,这个处理器是springsecurity内置的处理器。
同理,最初登录也要一个处理器,在pages下的header.jsp,找到最初登录,这里需要将login.jsp改为logout。然后需要将这两个页面的访问地址进行修改,其余的不需要改动。