iDEA无法访问webapp下的jsp页面问题解决方法

相信有许多的小伙伴在刚接触idea的时候会遇到在eclipse上运行springboot项目能成功访问jsp页面,而到了idea上就不能访问会出现404错误,主要是有两点肯定没
注意到,以下是详细介绍
1.找到Project Strucure 页面将 Web Resource Directories的资源目录改为webapp
在这里插入图片描述
在这里插入图片描述
修改完之后你的webapp(文件夹里有蓝点)变为这个样子就说明你资源路径修改成功了:
在这里插入图片描述
2.找到maven中spring-boot:run命令执行,注意这不是你的那个SpringApplication启动类,那个启动完之后还是会出现404错误
在这里插入图片描述
你看我这里启动之后访问页面如下还是会报404错误
在这里插入图片描述
正确步骤应该是这样找到maven 插件中的spring-boot:run,双击运行后就成功了
在这里插入图片描述

在这里插入图片描述
这里再补充一下,当时刚接触sprinboot没多久,就是随便拿项目练练,没处理,springboot项目启动类启动访问不了的问题,现在回头再梳理一下
现在发现失去少了解析jsp的jar包,在idea里启动springboot项目不支持jsp(不知道为什么eclipse可以,可能启动的时候自动打包添加了),maven中spring-boot:run使用的插件打包,插件在打包时会自动添加tomcat-embed-jasper。而我们在启动类中启动项目时并没有打包这个一依赖,所以需要该依赖对我们项目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>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

### 创建 Spring MVC 项目 Webapp 结构 在 IntelliJ IDEA 中创建 Maven Spring MVC 项目的 `webapp` 部分涉及多个配置文件和目录结构设置。以下是详细的说明: #### 设置项目结构 当通过 Maven 架构创建一个新的 Spring MVC 项目时,会自动生成基本的项目结构[^2]。对于 Linux 操作系统的具体操作流程也适用同样的方法[^1]。 为了确保应用程序能够正常工作并遵循标准的 Java EE 布局,应该构建如下所示的标准 `src/main/webapp` 文件夹及其子项: - **WEB-INF**: 存放 web 应用程序的核心配置文件如 `web.xml`, 定义了 Servlet 和其他组件之间的映射关系。 - **resources**: 放置静态资源比如 CSS, JavaScript 或者图像等前端所需的素材。 - **views**: 包含 JSP 页面或其他视图模板引擎所使用的页面文件。 #### 编辑核心配置文件 ##### 修改 pom.xml 添加依赖 确保 `pom.xml` 已经包含了必要的库来支持 Spring MVC 功能以及任何额外的功能需求,例如数据库连接池或者安全框架等。这通常涉及到添加一些特定于 Spring 的坐标(GAV),即 GroupId、ArtifactId 及 Version。 ```xml <dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- Other dependencies... --> </dependencies> ``` ##### 配置 web.xml 此 XML 文档用于定义 DispatcherServlet 并指定其初始化参数,包括加载哪个上下文配置位置 (`contextConfigLocation`) 来读取 Bean 定义和其他环境属性[^3]。 ```xml <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` ##### 创建 mvc-dispatcher-servlet.xml 该文件位于 WEB-INF 下面,用来声明控制器 bean 和其它与请求处理有关的对象实例化方式。这里展示了一个简单的例子: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Component scanning to find controllers and other components --> <context:component-scan base-package="com.example.controller"/> <!-- View resolver configuration --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> </beans> ``` 完成上述步骤之后就可以继续开发 Controller 类型的服务端逻辑代码,并设计对应的 HTML/JSP 视图表单等内容了。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值