久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - springMVC配置的controller無法返回jsp文件

瀏覽:156日期:2024-01-04 13:45:05

問題描述

當啟動完tomcat后,它首先展示的是index.jsp ,當我輸入http://localhost:8080/Spring_no_2/時,出現

HTTP Status 404 – Not FoundType Status ReportDescription The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

根據spring in action中的springMVC這一章中的demo進行測試,環境是mac下的Ideallij,jkd1.8,tomcat9

配置好了springMVC,相關的xml文件并且啟動tomcat后(省略了配置靜態資源和SpitterService類),無法通過訪問url使controller返回在WEB-INF/views中的jsp文件

以下是代碼文件

web.xml

<?xml version='1.0' encoding='UTF-8'?><web-app xmlns='http://xmlns.jcp.org/xml/ns/javaee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd' version='3.1'> <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet><servlet-name>spitter</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup> </servlet> <servlet-mapping><servlet-name>spitter</servlet-name><url-pattern>/</url-pattern> </servlet-mapping></web-app>

spitter-servlet.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' xmlns:context='http://www.springframework.org/schema/context' xmlns:mvc='http://www.springframework.org/schema/mvc' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd'> <!--use annotations to create the mapping between--> <!-- url and class deal with request(Controller) --> <mvc:annotation-driven/> <!--scan the component and auto regist as bean--> <context:component-scan base-package='com.springmvc.controller'/> <!--Use this bean to map the jsp file according to the name return by Controller--> <!--It will automatically add the prefix and suffix to the name string--> <bean class='org.springframework.web.servlet.view.InternalResourceViewResolver'><property name='prefix' value='/WEB-INF/views/'/><property name='suffix' value='.jsp'/> </bean></beans>

controller

package com.springmvc.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;/** * Created by han on 29/3/2017. */@Controllerpublic class HomeController {// public static final int DEAFAULT_SPITTLES_PER_PAGE = 25; public HomeController() {System.out.println('-------HomeController init-------'); } @RequestMapping('/') public String showHomePage() {System.out.println('-------showHomePage Method show-------');return 'home'; }}

我的文件結構是

java - springMVC配置的controller無法返回jsp文件

請問為什么無法使home.jsp呈現出來?

問題解答

回答1:

找到了問題所在了,目錄,tomcat配置都對。但是因為在web.xml中的以下代碼

<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

導致了監聽的配置文件不讀取spitter-servlet.xml中的配置,解決方法有兩個:

第一:

是在 <context-param>中加入spitter-servlet.xml的地址,這樣spitter-servlet.xml和applicationContext.xml中的Bean等配置都會被讀取到。在Spring in action 4th edition中說到Whereas DispatcherServlet is expected to load beans containing web components such as controllers, view resolvers, and handler mappings, ContextLoaderListener is expected to load the other beans in your application. These beans are typically the middle-tier and data-tier components that drive the back end of the application.兩個不同的配置文件是為了應對不同部分的配置而設置的

第二:

就是刪除以上代碼的配置。會自動讀取spitter-servlet.xml中的配置。回答2:

親,-------showHomePage Method show-------后臺有沒有打印出來?

回答3:

先看看tomcat配置的對不對。localhost:8080可以訪問成功嗎?再看看showHomePage方法

回答4:

默認項目結構web層是使用的webapp目錄,你可以看下部署到tomcat的項目的WEB-INF/views目錄下是否真的存在home.jsp?

標簽: java
相關文章:
主站蜘蛛池模板: 兴义市| 崇明县| 乐安县| 兰考县| 邢台市| 芜湖市| 冕宁县| 乐昌市| 松桃| 永川市| 沂南县| 霍州市| 皋兰县| 万州区| 五指山市| 蚌埠市| 马边| 方正县| 祁东县| 灵寿县| 新乡县| 澄江县| 汪清县| 南昌县| 大邑县| 双流县| 平利县| 五家渠市| 霍邱县| 南昌县| 营口市| 衢州市| 桦川县| 肇州县| 五大连池市| 湘阴县| 四子王旗| 右玉县| 江川县| 肇州县| 郁南县|