springboot开发起来,确实是清爽不收啊,和jsp结合起来,更是如虎添翼啊,碉堡了,有木有,而且这个玩意配置起来还挺清爽的。需要郑重声明一下,这个项目工程是一个java工程,而不是web工程,这点请切记。
项目地址
https://gitee.com/yellowcong/springboot-demo/tree/master/springboot-demo8-jsp
目录结构
设置首页
/**
* @author yellowcong
* 创建日期:2018/02/05
* 设定首页
*/
@Configuration
public class DefaultView extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("forward:/index");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
super.addViewControllers(registry);
}
}
环境搭建
需要添加jsp依赖的包,不然就会报错。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>yellowcong.com</groupId>
<artifactId>cas-client-springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>cas-client-springboot</name>
<url>http://maven.apache.org</url>
<!-- 引用父类依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.cas.client.version>3.5.0</java.cas.client.version>
</properties>
<dependencies>
<!-- 添加spring-web的依赖,直接就可以使用springmvc了 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 添加spring的插件, 就可以直接通过 mvn spring-boot:run 运行了 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置application.yml
设置项目的名称,端口号,以及jsp文件存放地址,jsp文件需要存放到src/main/WEB-INF/jsp目录下面。
logging:
#日志存储地址
file: "logs/config/demo-xx.log"
info:
name : "入门案例"
server:
#端口号
#http://yellowcong.com:8888/
port: 8888
#项目名,如果不设定,默认是 /
context-path: /
spring:
mvc:
view:
# 页面默认前缀目录
prefix: /WEB-INF/jsp/
# 响应页面默认后缀
suffix: .jsp
配置视图和控制器
首页视图
package com.yellowcong.cas.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping("/index")
public String index(HttpServletRequest request) {
return "index";
}
}
首页的jsp文件
<%@ page import="java.util.Map" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>index</title>
</head>
<body>
<h1>首页</h1>
<a href="<%=request.getContextPath()%>/user/info">用户信息</a>
</body>
</html>
注册服务并设定首页
package com.yellowcong;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@SpringBootApplication
public class ConfigMain {
/**
* @author yellowcong
* 创建日期:2018/02/05
* 设定首页
*/
@Configuration
public class DefaultView extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
//设定首页为index
registry.addViewController("/").setViewName("forward:/index");
//设定匹配的优先级
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
//添加视图控制类
super.addViewControllers(registry);
}
}
public static void main(String[] args) {
SpringApplication.run(ConfigMain.class, args);
}
}
运行测试
登录到首页,然后查看用户信息。