我一直在嘗試用於Web應用程序的Java Servlets,在此應用程序中,我能夠擊中一個Servlet並正確加載一個.jsp頁面,完成了這一操作後,我將其移至了Spring MVC。我遇到了一個問題,我的servlet控制器類被調用,但它不會加載視圖。Spring MVC - 無法加載查看
我排除了資源不可見,因爲它可以正常使用普通的java servlet。我也讀了幾乎所有的資源/教程,試圖找到沒有任何運氣的問題,我的問題仍然是一樣的。此外,爲了解決問題,我添加了一個錯誤頁面tag(),以查看是否嘗試打開我的頁面時,它會正確重定向我,但無法找到爲404錯誤指定的頁面。
任何人都可以識別我錯過了什麼?
Web.xml中
變化:改變URL的圖案時,init-PARAMS,上下文的配置位置等
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/LoginServlet-servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
LoginServlet-servlet.xml中
變化:我我們試圖按照其他職位上的建議將這些聲明轉移到不同的職位上,但沒有任何結果。除了通常我有前綴設置爲/ WEB-INF/JSP/
<context:component-scan base-package="plan.route.server" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<context:annotation-config/>
<mvc:annotation-driven />
LoginServlet.java
變化:不同requestMapping路徑,標誌着方法不是類,從返回的字符串方法,返回的ModelAndView類
package plan.route.server;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller()
@RequestMapping("/")
public class LoginServlet extends org.springframework.web.servlet.mvc.AbstractController {
@RequestMapping(method = RequestMethod.GET)
public String forwardTo() {
return "index";
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {
return new ModelAndView("login", "login", "login");
}
}
項目設置
變化:爲servlet XML不同的地點,.jsp文件等
有人能看到什麼我已經錯過了?所有我想要做的,儘管所有的變化是加載一個.jsp頁面。
編輯:我的Java Servlet的方法後,將顯示以下錯誤被稱爲:
WARNING: No mapping found for HTTP request with URI [/Root/Login] in DispatcherServlet with name 'LoginServlet'
歡呼聲中,我應該已將此添加然而變化部分。當我試圖將.jsp文件移出web-inf文件夾時,我更改了該前綴值。我應該重新添加它,但這並不能解決我的問題。謝謝。 – Unknown