springboot访问jsp页面
1.新建springboot项目,选择以war包的方式package;
2.勾选Web模块,DevTools可不选(用作热部署,不影响运行)
3.创建完成后,项目结构如下图:
4.pom.xml文件中添加jsp的依赖
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
5.在application.properties文件中添加以下内容:
#路径,在webapp文件夹下新建文件夹WEB-INF,在往下建文件夹jsp
spring.mvc.view.prefix=/WEB-INF/jsp/
#文件名的后缀,例如:index.jsp,放在jsp文件夹下
spring.mvc.view.suffix=.jsp
.yml 文件配置如下:
spring:
mvc:
view:
prefix: /WEB-INF/test/
suffix: .jsp
6.新建index.jsp文件,路径结构如图:

7.index.jsp页面内容如下:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>登录</title>
<link rel="stylesheet" href="<%=request.getContextPath() %>/css/signin.css">
<link rel="stylesheet" href="<%=request.getContextPath() %>/css/bootstrap.min.css">
<style type="text/css">
body {
padding-top: 50px;
}
.starter-template {
padding: 40px 15px;
text-align: center;
}
</style>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="#">Spring Boot+JSP</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="starter-template">
<h2>登录</h2>
<form class="form-signin" role="form" name="form" action="/login" method="post">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control" name="username" value="" placeholder="用户名"/>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" class="form-control" name="password" placeholder="密码"/>
</div>
<input type="submit" id="login" value="Login" class="btn btn-primary"/>
</form>
</div>
</div>
</body>
</html>
8.引入css文件,这个不影响效果,只是index.jsp的页面会不好看

9.新建IndexController.java
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping("/index")
public String index() {
return "index";
}
}
如果想使用restcontroller注解,需要以下处理
@GetMapping("/order")
public ModelAndView toPayJsp() {
// return
// "pay_wx";//@RestController注解含有@ResponseBody注解,结果pay_wx没有经过视图解析器解析直接变成json字符串返回给浏览器了
ModelAndView mv = new ModelAndView("pay_wx");
return mv;
}
10.启动服务,访问localhost:8080/index 即可访问index.jsp成功
springboot访问jsp页面的更多相关文章
- 使用SpringBoot访问jsp页面
1 编写application.yml文件 spring: mvc: view: suffix: .jsp prefix: /jsp/ 2 创建Controller层 @Controller @Req ...
- SpringBoot启动访问JSP页面,直接进入页面或者访问不到,报404,并且加载tomcat插件tomcat-embed-jasper也不行
这个问题花费了两天的时间,解决路径: 我用的是SpringBoot1.5.2,SpringMVC和Spring,tomcat启动插件都是默认的版本,Spring是4.3.7,jdk是1.7.0_80, ...
- springboot结合jsp页面详解
第一次写博客,其实就是为了约束我自己,写的不一定对,互相借鉴吧!有不对的地方请多多指正,谢谢! 今天我们来看一下springboot结合jsp页面的具体操作: 1.首先我们先看一下目录结构 由上面我们 ...
- 【JSP错误总结】无法访问jsp页面
运行环境:window 7 64位 JSP服务器 tomcat 7 现象:无法访问JSP页面,如下图所示:
- jetty访问jsp页面出现( PWC6345: There is an error in invoking javac)
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not ju ...
- 如何在浏览器中输入(myeclipse创建的项目的)地址访问JSP页面
如何在浏览器中输入(myeclipse创建的项目的)地址访问JSP页面 可以在Tomcat项目里面查看你的JSP页面在哪里,具体的路径为: tomcat--work--localhost--项目名称, ...
- jetty访问jsp页面出现异常:org.apache.jasper.JasperException: PWC6345: A full JDK (not just JRE) is required解决
今天在jetty下配置一个jsp模版的报表页面,报如下异常信息: org.apache.jasper.JasperException: PWC6345: There is an error in ...
- springboot集成jsp,访问jsp页面下载问题
1.导入相关依赖 (存在jsp页面下载问题,可能是缺少tomcat-embed-jasper的依赖对jsp的支持) <parent> <groupId>org.spri ...
- jsp页面都放在web-inf下面说是要防止用户直接访问jsp页面,为么不能直接访问jsp
为了保护那部分jsp页面,如果没有登录验证,那部分jsp用户可以直接访问,这样很不安全,放在WEB-INF下面,就使得只能WEB-INF文件夹外jsp页面调用里面的jsp,这样来使用,就比如我们有一个 ...
随机推荐
- Python全栈day14(集合)
一,集合 1,集合由不同元素组成 2,无序 3,集合中元素必须是不可变类型 二,定义集合 1,s = {1,2,3,4,5} 2,s = set(hello)以迭代的方式生成集合 s = set(&q ...
- 解决IOS7在TableView 被导航栏挡住的BUG!!
self.edgesForExtendedLayout = UIRectEdgeNone; 就这么简单!
- linux文件与目录管理命令(ubuntu)
ls:列出目录 选项与参数: -a:全部文件,隐藏档(开头为.的文件)也会列出: -d:仅列出目录本身(也就是 . ),而不是目录下的所有文件及目录: -l:长字符串列出,包括文件的属性.权限等数据.
- Java8 中的时间和日期 API
1. 日期和时间概述 LocalDate,LocalTime,LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期 ...
- Python并行编程(九):线程通讯queue
1.基本概念 当线程之间要共享资源或数据的时候,可能变的非常复杂.Python的threading模块提供了很多同步原语,包括信号量,条件变量,事件和锁.如果可以使用这些原语的话,应该优先考虑使用这些 ...
- 3类数据库的联动:mysql、mongodb、redis
3类数据库的联动:mysql.mongodb.redis from pymysql import * from pymongo import * from redis import * class M ...
- 怎样将Arranged_2压入General_Polygon_set_2中
Thursday, March 14, 2013 How to Jam an Arrangement_2 into a General_polygon_set_2 I spent about thre ...
- 关于sails 初学者常见问题汇总
http://sailsdoc.swift.ren/ 这里有 sails中文文档 一.安装时: 先装nodejs,成功标志 node -v 安装sails 全局安装 node install sail ...
- IDOC 实例测试
这份文档主要是自己学习IDOC的一些练习过程及心得,可能讲的不全面,但应该可以帮助大家了解IDOC的一些工作方式. IDOC或者说是ALE,事实上,是SAP用于分布和集成数据的一种方式.所以,我个人就 ...
- PKU 2002 Squares(二维点哈希+平方求余法+链地址法)
题目大意:原题链接 给定平面上的N个点,求出这些点一共可以构成多少个正方形. 解题思路: 若正方形为ABCD,A坐标为(x1, y1),B坐标为(x2, y2),则很容易可以推出C和D的坐标.对于特定 ...