springbootspring boot 访问接口口访问不了,启动是正常的

springboot项目 打包放入tomcat 启动成功了 但是访问不了springboot项目求解
[问题点数:100分]
springboot项目 打包放入tomcat 启动成功了 但是访问不了springboot项目求解
[问题点数:100分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|spring boot中访问jsp报404
spring boot中访问jsp报404,application.properties配置和代码结构如下,其中application.properties的配置如下,其中prefix中包含"WEB-INF",自己调试发现ResourceHttpRequestHandler.isInvalidPath中判断有"WEB-INF"返回true表示路径非法,直接跳转到错误页面了,哪位大神帮忙看看
application.properties配置:
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
#logging.config=src/main/resources/logback.xml
logging.level.org.springframework.web = DEBUG
spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp
唉,两个问题,一个是pom中少了
&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&
另一个是必须用sping-boot:run启动
谢谢各位的回答
--- 共有 1 条评论 ---
我的项目也是要通过mvn spring-boot:run启动才可以访问页面,但是下面这个示例项目可以通过SampleWebJspApplication.java启动项目正常访问,
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-web-jsp
看下官方是sample吧
--- 共有 1 条评论 ---
官方sample就是这样的结构和配置,我这样却找不到jsp文件。。。
SpringBoot官方文档写的很明确:“JSPs should be avoided if possible, there are several&&when using them with embedded servlet containers.”
不建议使用JSP当模板引擎,而且SpringBoot也不建议设置webapp这个目录,都应当放在resources目录中
--- 共有 1 条评论 ---
我知道不建议使用jsp,不过还是想搞清楚为什么有这个问题,是参考官方sample写的,但是找不到jsp文件
jsp确实是坑,我也困扰过好几次,demoApplication怎么写的
--- 共有 3 条评论 ---
坑的不是jsp 是springboot
: 要继承SpringBootServletInitializer
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
看配置你应该是1.3.3最新版,我昨晚刚升级了
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
这是我的配置,运行没问题,不要听楼上几个乱说jsp不行,用得好好的
对了,jdk8,tomcat&
引用来自“抓瓦工人”的评论
看配置你应该是1.3.3最新版,我昨晚刚升级了
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
这是我的配置,运行没问题,不要听楼上几个乱说jsp不行,用得好好的
对了,jdk8,tomcat&
这样以下校验会返回true表示校验不通过直接返回错误页面了啊
我想问题的原因可能是这样:
Spring boot 默认是将DispatcherServlet 映射在 / 路径的,也就是所有请求都被Spring MVC接管。启动完毕之后,应该能看到这句日志:
Mapping servlet: 'dispatcherServlet' to [/]
所以直接访问jsp是访问不到的,除非用Controller中中转,跳往指定View(jsp)或是添加ViewController:
继承WebMvcConfigurerAdapter,重写addViewControllers方法:
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/foo").setViewName("foo");
更新:日13:45:25
大致看了下Spring boot 文档。提到了一JSP的一些限制:
只能用tomcat并且pom中的package设为war,jetty没有支持。
引用来自“JohntoString”的评论 我想问题的原因可能是这样:
Spring boot 默认是将DispatcherServlet 映射在 / 路径的,也就是所有请求都被Spring MVC接管。启动完毕之后,应该能看到这句日志:
Mapping servlet: 'dispatcherServlet' to [/]
所以直接访问jsp是访问不到的,除非用Controller中中转,跳往指定View(jsp)或是添加ViewController:
继承WebMvcConfigurerAdapter,重写addViewControllers方法:
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/foo").setViewName("foo");
忘了说明一下,是通过访问的,以下是控制器代码,下面的index方法是可以进去正常返回的,返回之后去找jsp的时候根据application.properties配置的路径找不到welcome.jsp
public class UserController { private UserRepository userRepository; @Autowired
public UserController(UserRepository userRepository){ this.userRepository=userR
} @RequestMapping("/user") public ModelAndView getUser(){
List&User& users = (List&User&) userRepository.findAll();
ModelAndView modelAndView = new ModelAndView("users");
modelAndView.addObject("users",users); return modelAndV
} @Value("${application.message:Hello World}") private String message="Hello World"; @RequestMapping("/index") public String index(Map&String,Object& model){
model.put("time",new Date());
model.put("message",this.message); return "welcome";
--- 共有 1 条评论 ---
修改了回答,你再看看能否解决博客分类:
1、Spring Boot 的启动类启动时,默认扫描其所在的根目录及其子目录。
所以:所以注入的bean,放在 启动类所在的目录或者启动类所在目录的子目录,最为适宜。
2、如果,注入的bean不在启动类所在的目录或者其子目录下的话,默认扫描是找不到的,
这时候,就需要在启动类上添加扫描的目录。
注意:添加扫描的目录时:添加了什么目录,启动类启动时就扫描这个目录及其子目录,
所以,添加扫描bean的目录时,一定要添加,启动类所在的目录(否则,启动类所在的
目录及其子目录是不会被扫描的;当然,如果启动类所在的目录及其子目录
没有要用到
的东西--&基本没这种情况&,可以不添加。所以还是加上,以免出现未知异常,就头疼了。)
即:需要扫描哪里,就添加对于的扫描目录(灵光一闪)。
3、举例说明:
A:先举例说明第二中情况:
两个module:
I:springboot-web
//启动类WebApplication.java 所在的目录为:com.cp.springboot.web
//MsgController所在目录为:com.cp.springboot.web.controller
II:springboot-domain
//MsgBean 所在目录为:com.cp.springboot.domain.bean
此时:要想正确调用注入的MsgBean,启动类应该添加扫描目录:
@ComponentScan(basePackages = {"com.cp.springboot.web","com.cp.springboot.domain.bean"})
启动类代码如下:
@SpringBootApplication
@ComponentScan(basePackages = {"com.cp.springboot.web","com.cp.springboot.domain.bean"})
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
B:举例说明第一种情况:注入bean后,不需要进行其他改动
两个module:
I:springboot-web
//启动类WebApplication.java 所在的目录为:com.cp.springboot.web
//MsgController所在目录为:com.cp.springboot.web.controller
II:springboot-domain
//MsgBean 所在目录为:com.cp.springboot.web.bean
此时:MsgBean所在的bean目录是:com.cp.springboot.web目录(启动类所在的目录)的子目录,
所以,启动类启动时,也会自动扫描bean目录,就不需要再添加扫描目录了。(这样简单明了,并且以后打包放进spring-web中的时候,出现问题的概率不大。此处纯属个人见解,哈哈,仁者见仁,智者见智。
当然,很多大侠们还有更风骚的处理方式,我也在寻找。
浏览: 7910 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'用java启动spring boot项目,模版目录无法正常访问 - 简书
用java启动spring boot项目,模版目录无法正常访问
由于想快速在服务器上部署一下spring boot的web应用,因此使用了java直接启动spring boot内置tomcat的方式来构建服务,实际上这也是spring boot的一个很大的亮点。
但是接着就遇到了一个很有意思的问题,在项目中使用了Thymeleaf作为模版工具,使用运行jar包的方式进行项目启动的时候,访问页面时出现了500错误,原因为找不到模版文件。
然后这一切在本地开发的过程中并没有出现,这就让人非常摸不到头脑了。
后来经过查证和摸索后,想到了可能会不会是在controller映射的时候,使用了错误的映射地址呢?因为我在配置模版的时候是这么写的
# Prefix that gets prepended to view names when building a URL.
spring.thymeleaf.prefix=classpath:/templates/
而我在controller里面有的页面写成了这样的,注意这里的return值,在路径的最前面加了"/"
@RequestMapping("/admin/index")
private String adminIndex(ModelMap map){
//TODO something
return "/admin/index";
经过尝试修改之后,将多余的"/"去掉之后,一切就正常了。
因此这就非常有意思了,为什么同样的代码,我开发启动的时候就没有问题,但是使用jar启动的时候就会有这个问题呢。
对比了一下我通过使用mvn spring-boot:run启动服务和使用java -jar xx.jar启动服务时候的日志差异,发现前者使用的是target下面的classes文件下下面的内容,实际上在启动中尝试替换了文件下下面的静态文件也确实生效了。而后者则是使用了jar包这个Archive下面的classes文件。
[ main:0 ] - [ INFO ]
Starting Application on Lenovo-PC with PID 4320 (G:\java_workspace\xxx\target\classes started by zhf in G:\java_workspace\xxx)
[ main:32 ] - [ DEBUG ]
Running with Spring Boot v1.3.2.RELEASE, Spring v4.2.4.RELEASE
14:50:55,844 method:org.springframework.boot.StartupInfoLogger.logStarting(StartupInfoLogger.java:48)
Starting Application v1.0.0-SNAPSHOT on Lenovo-PC with PID 8472 (G:\java_workspace\xxx\target\WebSite-1.0.0-SNAPSHOT.jar started by zhf in G:\java_workspace\xxx\target)
14:50:55,849 method:org.springframework.boot.StartupInfoLogger.logStarting(StartupInfoLogger.java:51)
Running with Spring Boot v1.3.2.RELEASE, Spring v4.2.4.RELEASE
但造成这两者的具体差异,还需要之后进一步分析研究才能知道,目前先记录下这个问题,之后有时间了再进一步进行探索。
区区简介怎么能表达我的个性! (~ ̄▽ ̄)~
Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgbook/spring-boot-reference-guide-zh/details带目录浏览地址:http://www.maoyupeng.com/sprin...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
此篇翻译的是Spring Boot官方指南 Part III. 使用 Spring Boot (Using Spring Boot)。查看前面章节移步这里 第三部分 使用Spring Boot 本节将更详细介绍你应该如何使用Spring Boot。 它涵盖诸如构建系统,自动...
本文参考了:http://blog.didispace.com/springcloud7/http://blog.didispace.com/springcloud8/ 问题:如何实现对配置信息的实时更新?虽然,我们已经能够通过/refresh接口和Git仓库的Web Ho...
文章作者:Tyan博客:noahsnail.com
简书 11. Developing your first Spring Boot application Let’s develop a simple “Hello World!” web app...
前路很远,跑着跑着就停了,温水很暖,待着待着就疼了。每个人都在跟自己赛跑,只有持续前行,才能不断超越。 关键词:新鲜感、成长、学习、团队、头衔 日,立秋已过十天,这天是我来到腾讯两周年的日子,又一年过去,四季轮回如常,我在腾讯的生活也将进入新的周期,总得留...
(希望之光城镇,某双休日清晨) 薇薇醒来偷偷的趴在奎灵身上看着奎灵的睡脸偷笑着。 “奎灵~~起床了~” 薇薇轻轻的亲了下奎灵的嘴唇,奎灵露出微笑一个反身把薇薇搂在怀里,薇薇红着脸埋进奎灵的怀里。 “起来啦~别闹了~” “不要~” 奎灵和薇薇蹭鼻尖。 “真是的……不许学坏啊…...
见面才不到一周 你说,好像已经认识我很久了 我不觉得这是你的错觉 始终相信缘分 就是那种,一触即发的感觉 从来不需要太多牵强,真实地展现 我问自己,从陌生到熟悉需要什么 内心告诉我:一个坚定的眼神 去融化那颗冰冷、尘封且伤痕累累的心 心动情,人动容 我努力地发挥着自己的想象...
关于java中switch使用的一些说明 switch(表达式) { case常量表达式1:语句1; .... case常量表达式2:语句2; default:语句; } default就是如果没有符合的case就执行它,default并不是必须的. case后的语句可以不...
都说阅读源代码对于功力的提升是十分显著的, 但是很多的著名开源框架源代码动辄上万行, 复杂度实在太高, 之前我曾经试图读一些开源框架的源代码, 比如说 AFNetworking, SDWebImage, ReactiveCocoa 但是由于当时比较浮躁, 实在没法静下心来看...springboot实现简单的登陆注册接口_百度经验
&&&&&&&&&电脑软件springboot实现简单的登陆注册接口听语音1234567
百度经验:jingyan.baidu.com这篇是在“spring boot整合mysql和mybatis”这篇上进行的,环境搭建就不介绍了,这里登陆注册没加加密,只是简单的介绍流程0百度经验:jingyan.baidu.comideapostman百度经验:jingyan.baidu.com1首先写读取mysql数据的语句,数据库表就简单的几个字段,就两条sql语句,insert注册用,select登陆2几个基本工具类先介绍下,一个对应数据库表的实体类,字段名和数据库的字段名最好一致3这里用的是json请求,以及返回也是json,下面的工具类主要用于返回json的封装4然后建立一个用户control,@RestController标注返回json,@RequestMapping指定url,然后调用usermapper里面的数据插入方法,要加注解@Autowired,提示黄杠可以忽略5注册和登陆差不多的流程6下面先介绍下如何测试control的是否能访问,这里不指定post,用get请求,浏览器能访问,就证明没问题了,如果不能访问检查端口,ip等7最后通过postman测试下自己写的注册登陆接口END经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(0)已投票(0)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验120700热门杂志第1期你不知道的iPad技巧3784次分享第1期win7电脑那些事6632次分享第2期新人玩转百度经验1400次分享第1期Win8.1实用小技巧2651次分享第1期小白装大神1911次分享◆请扫描分享到朋友圈

我要回帖

更多关于 spring boot 接口 的文章

 

随机推荐