springmvc无法访问/WEB-INF/views下的jsp的解决方法

yizhihongxing

解决 SpringMVC 无法访问 /WEB-INF/views 下的 JSP 的问题,可以尝试以下步骤:

  1. 确认 SpringMVC 配置

首先,需要在 SpringMVC 的配置文件 dispatcher-servlet.xml 中确认以下配置:

<!-- 配置 InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

<!-- 配置视图解析器,将 jsp 放在 WEB-INF 下 -->
<mvc:view-controller path="/" view-name="index" />
<mvc:default-servlet-handler />

其中,InternalResourceViewResolver的配置,将 JSP 视图的前缀设置为 /WEB-INF/views/,后缀设置为 .jspmvc:view-controller的配置是为了将根路径 / 映射到名为 index 的视图,并使用默认的 DefaultAnnotationHandlerMapping。最后,mvc:default-servlet-handler的配置是为了解决静态资源请求无法正常访问的问题。

  1. 确认 web.xml 配置

其次,在 web.xml 中确认以下配置:

<!-- 配置 DispatcherServlet -->
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

这里需要注意的是,ContextLoaderListener 的配置,它会启动 Spring 的根上下文。因此,需要根据实际的情况,将配置文件 dispatcher-servlet.xml 放在 WEB-INF 目录下,确保在 servlet 中的 init-param 的值为 /WEB-INF/dispatcher-servlet.xml

  1. 确认视图 JSP 文件路径

最后,需要确认视图 JSP 文件的路径是否正确。例如,在 Controller 中使用以下代码返回视图:

@RequestMapping("/hello")
public ModelAndView hello(){
    ModelAndView modelAndView = new ModelAndView("hello");
    return modelAndView;
}

其中,参数 "hello" 就是视图 JSP 文件名。此时,需要确认视图 JSP 文件放在了 /WEB-INF/views/hello.jsp 目录下,并且文件名为 hello.jsp

示例1: IntelliJ IDEA 中的设置

首先,打开 IntelliJ IDEA,创建一个名为 "SpringMVC" 的项目。在左侧的 "Project" 窗口中,找到 src/main/webapp 目录,右键点击选择 "New" -> "Directory"。在弹出的对话框中,输入 "WEB-INF",点击 "OK" 创建一个名为 "WEB-INF" 的目录。

接着,右键点击 "WEB-INF" 目录,选择 "New" -> "Directory",在弹出的对话框中输入 "views",创建一个名为 "views" 的文件夹。

最后,右键点击 "views" 目录,选择 "New" -> "JSP",在弹出的对话框中输入 "index",选择 "Create associated file",点击 "OK"。这样就在 "views" 目录下创建了一个名为 "index.jsp" 的文件。然后,在 dispatcher-servlet.xml 文件中添加以下配置:

<!-- 配置 InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

<!-- 配置视图解析器,将 jsp 放在 WEB-INF 下 -->
<mvc:view-controller path="/" view-name="index" />
<mvc:default-servlet-handler />

这样就可以正常访问 JSP 文件了。

示例2: Eclipse 中的设置

首先,打开 Eclipse,创建一个名为 "SpringMVC" 的项目。在项目的 "WebContent" 目录下,右键点击选择 "New" -> "Folder",在弹出的对话框中输入 "WEB-INF",点击 "Finish" 创建一个名为 "WEB-INF" 的目录。

接着,右键点击 "WEB-INF" 目录,选择 "New" -> "Folder",在弹出的对话框中输入 "views",点击 "Finish" 创建一个名为 "views" 的文件夹。

最后,在 "views" 目录下创建一个名为 "index.jsp" 的文件。然后,在 dispatcher-servlet.xml 文件中添加以下配置:

<!-- 配置 InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

<!-- 配置视图解析器,将 jsp 放在 WEB-INF 下 -->
<mvc:view-controller path="/" view-name="index" />
<mvc:default-servlet-handler />

这样就可以正常访问 JSP 文件了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springmvc无法访问/WEB-INF/views下的jsp的解决方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java concurrency之AtomicLong原子类_动力节点Java学院整理

    Java Concurrency之AtomicLong原子类 在多线程并发编程过程中,避免线程安全问题是很关键的一点。Java提供了一系列的原子类,其中AtomicLong原子类是其中之一。本篇攻略将介绍AtomicLong原子类的使用,包括什么是AtomicLong原子类?什么情况下使用AtomicLong原子类?以及如何使用AtomicLong原子类? …

    Java 2023年5月26日
    00
  • J2EE Servlet上传文件到服务器并相应显示功能的实现代码

    下面是实现“J2EE Servlet上传文件到服务器并响应显示功能”的攻略,并提供两条示例代码: 1.前期准备 在开始实现功能之前,我们需要进行一些前期准备工作: 在web.xml文件中配置相应的Servlet,包括Servlet的名称、Servlet的URL映射、Multiform数据的解析方式等等。 在前端页面中添加表单元素,包括file类型的input…

    Java 2023年5月19日
    00
  • java 将字符串、list 写入到文件,并读取内容的案例

    一、将字符串写入文件并读取内容的案例 将字符串写入文件 import java.io.File; import java.io.FileWriter; import java.io.IOException; public class StringToFileExample { public static void main(String[] args) { …

    Java 2023年5月19日
    00
  • ASP.NET 页面刷新的实现方法(包括html,js)

    ASP.NET 页面刷新的实现方法可以通过 HTML 页面自身的 meta 标记或者使用 JavaScript 来完成。 通过 HTML 页面的 meta 标记实现页面刷新 HTML 页面可以通过设置 meta 标记来控制页面的刷新,具体方法为: <!–每5秒自动刷新页面–> <meta http-equiv="refresh…

    Java 2023年6月15日
    00
  • 一篇文章带你入门java算术运算符(加减乘除余,字符连接)

    一篇文章带你入门Java算术运算符 算术运算符简介 Java算术运算符是用于执行基本算数操作的运算符。常用的算术运算符包括加、减、乘、除和取模。此外,Java还提供了一个字符串连接运算符。 以下是Java算术运算符的列表: 运算符 描述 举例 + 加法运算符 5 + 3 等于 8 – 减法运算符 5 – 3 等于 2 * 乘法运算符 5 * 3 等于 15 …

    Java 2023年5月27日
    00
  • SpringBoot2.x配置HTTPS访问的过程

    下面是“SpringBoot2.x配置HTTPS访问的过程”的完整攻略。 1. 生成证书 首先需要生成一对密钥(证书和私钥),可以使用 keytool 工具来生成。在终端中执行以下命令: keytool -genkeypair -alias mycertalias -keyalg RSA -keysize 2048 -storetype PKCS12 -ke…

    Java 2023年5月19日
    00
  • java检查数组是否有重复元素的方法

    当我们需要在 Java 中检测一个数组是否包含重复的元素时,有多种方法可以实现。本文将介绍一些常用的方法,包括暴力破解、利用 Set 和利用 Arrays 类的 sort() 方法等。下面将一一讲解这些方法的步骤。 1、暴力破解 暴力破解的思路非常简单:遍历整个数组,检查每一个元素是否和后面的元素重复。如果发现重复的元素,则返回 true。否则,该数组中就不…

    Java 2023年5月26日
    00
  • 解决maven没有打包xml文件的问题

    解决maven没有打包xml文件的问题,可以通过修改pom.xml文件,将xml文件打包至目标文件中。 1.在pom.xml文件中增加插件 在pom.xml文件中增加以下插件: <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> …

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部