刚到spring boot。已将war部署到tomcat服务器。部署后的url是-http://localhost:8080/project-0.0.1-snapshot/。它显示了welcome jsp页面并且运行良好。start按钮应该调用控制器启动项目。但url调用转到http://localhost:8080/startproject而不是http://localhost:8080/project-0.0.1-snapshot/startproject。在快照版本之后手动输入/startproject之后,项目工作良好。我缺少什么配置?请帮帮忙。谢谢.
我的代码是下面的welcome.jsp
<a type="button" class="start-btn" href="/startProject">Start New Project</a>
pom.xml 4.0.0 org.springframework.Boot spring-boot-starter-parent 2.3.4.release com.project mancala 0.0.1-快照war mancala spring boot演示项目
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<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>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
ProjectController.java
@Controller
公共类ProjectController{
@Autowired
private ProjectService projectService;
@GetMapping(value = "/")
public String login() {
return "project";
}
@GetMapping(value = "/startProject")
public String startNewGame(ModelMap model) {
ProjectModel projectModel = projectService.startNewProject();
model.addAttribute("projectModel", projectModel);
return "project";
}
}
由于您已经将application.properties文件中的server.servlet.context-path属性设置为project-0.0.1-snapshot,因此可以通过URL:http://localhost:8080/project-0.0.1-snapshot/访问应用程序。
因此,所有jsp页面URL都必须以上下文路径:/project-0.0.1-snapshot/**开头。
这意味着,welcome.jsp文件中的startProject页面url应该如下所示:
<a type="button" class="start-btn" href="/project-0.0.1-SNAPSHOT/startProject">Start New Project</a>
我这里有一个示例项目可以证明对您有帮助:https://github.com/nkumashi/springboot-webmvc-demo。
我制作了Spring web应用程序示例项目。我做了所有的基本配置,基于java的配置和servlet 3.0web.xml.但在所有这些配置后,当我打网址它给我404错误。会有什么问题。有人能帮帮我吗? 网状物xml: 配置java类: 控制器: 当我试图访问这个网址 它给我404错误。虽然当我直接访问jsp页面时,它显示该页面。
我在Spring MVC中开发了一个应用程序,当我直接从eclipse通过run as->run On server运行它时,它工作得很好。 但是现在我想要将war部署到Tomcat文件夹并从那里运行它。我已经对此做了更改,war正在正确地部署到所需的tomcat文件夹中,但当我启动tomcat服务器并在浏览器中访问应用程序url时,它会给我404错误。服务器正在启动,没有任何异常。 下面是项目结
我正在获取一条消息,通过gmail API获取完整消息: 我正在传递一条有效的消息。Id号 谷歌。GoogleApiException:“谷歌。API。请求。请求错误 找不到[404] 谷歌。应用程序。请求。请求错误未找到[404]错误[消息[未找到]位置[-]原因[未找到]域[全局]] 这里还有一个问题 有人遇到过这个吗?
我使用和以及开发了一个Java web应用程序。我的应用程序在本地pc上运行,没有任何错误。 但是在我托管了我的应用程序之后,我无法访问servlet。它给了我错误。我不习惯在我的应用程序中映射servlet。我使用了。 托管服务器使用和。 可能是什么问题?我该怎么解决这个问题? 新更新 我购买主机的地方给了我上传文件的。tomcat中没有上传文件的地方,也没有上传文件到director的地方。所
[见底部更新]我试图通过Tomcat启动Spring Web应用程序,但是当我在浏览器中输入urlhttp://localhost:8080/demo-mvc/时,我收到了404错误和一条消息“请求的资源[/demo-mvc/]不可用”。起初,我试图通过NetBeans部署应用程序,它说部署成功,但是在浏览器启动时,我收到了404错误。我检查了Tomcat/webapp目录,不知为什么没有找到应用