Java 请求的资源在spring MVC中不可用
我是SpringMVC的新手,我正在尝试在其中部署HelloWorld应用程序。但我总是在jsp页面上收到请求的资源不可用错误。我使用的是Tomcat7。在这里我粘贴我的代码任何人请帮助 web.xmlJava 请求的资源在spring MVC中不可用,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我是SpringMVC的新手,我正在尝试在其中部署HelloWorld应用程序。但我总是在jsp页面上收到请求的资源不可用错误。我使用的是Tomcat7。在这里我粘贴我的代码任何人请帮助 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/ja
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>HelloWorldSpring</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
hello.jsp
<html>
<head>
<title>Spring 3.0 MVC </title>
</head>
<body>
${message}
</body>
</html>
Spring3.0MVC
${message}
index.jsp
<html>
<head>
</head>
<body>
<a href="hello">Say Hello</a>
</body>
</html>
这是我的应用程序,我还在添加项目结构的屏幕截图。主要问题是
*.html
我对您的代码做了以下更改,并且我能够在我的计算机上运行相同的代码: 1) 将
*.html
更改为/
2) 在
lib
文件夹中复制了jstl-1.2.jar
。只需按如下方式更改控制器
@Controller
@RequestMapping("/hello")
public class HelloWorldController {
@RequestMapping(method = RequestMethod.GET)
public String helloWorld(ModelMap model, HttpServletRequest request) {
String message = "Hello World, Spring 3.0!";
System.out.println(message);
model.addAttribute("message", message);
return "hello";
}
}
希望在检查文件夹结构后,这将解决您的问题。。所有SpringJAR都应该复制到Web INF中的lib文件夹中,并从那里导入。
这应该可以解决你的问题我也有类似的问题,我相信这与Maven有关。 我所做的是将jstl依赖项从jstl:jstl:1.2更改为javax.servlet:jstl:1.2。我不相信这是原因,但是在Maven更新了它的依赖项之后——它开始工作了。那我用哪一个也没什么区别。我认为这与LIB不在正确的位置有关
在web.xml中更改以下内容
<servlet>
<servlet-name>HelloWeb</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/HelloWeb-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWeb</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
你好
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/HelloWeb-servlet.xml
1.
你好
/
我也遇到了这个问题,因为我遵循了本教程,上面的代码似乎也来自本教程,所以添加spring-webmvc-x-y-z.RELEASE.jar并删除“asm”和“web.servlet”jar对我来说很有效。
希望这能对学习春天的人有所帮助 我也有同样的感受。我添加了jstl 1.2.jar,它对我起了作用。@Subho你确定这个包中的HelloWorldController在net.viralpatel.spring3.controlleryah中已经发布了我的应用程序的屏幕截图,请参见there@R.s我仍然知道我正在再次发布我的更新代码,完全查看您是否运行了此代码。@Subho…我正在使用相同的代码更新了代码。您仍然面临同样的问题吗?
DispatcherServlet
侦听“*.html”,但URL“hello”以“.html”结尾。您的意思是我更改了它???然后您必须相应地更改请求映射。或者您只需将url模式更改为/
to@Subho,你是怎么得到帮助的?我也面临同样的问题。需要帮助。这没用。为什么会有帮助?请详细说明。
@Controller
@RequestMapping("/hello")
public class HelloWorldController {
@RequestMapping(method = RequestMethod.GET)
public String helloWorld(ModelMap model, HttpServletRequest request) {
String message = "Hello World, Spring 3.0!";
System.out.println(message);
model.addAttribute("message", message);
return "hello";
}
}
<servlet>
<servlet-name>HelloWeb</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/HelloWeb-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWeb</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>