views:

266

answers:

1

Hi, I am a newbie for Spring MVC 3.0 and trying to write a sample webapp to get the feels of it. I am able to get url to invoke my associated controller, but not able to foward the request from which to my jsp resource as indicated by the output on the browser:

The requested resource (/Spring30HelloWorld/helloworldcontroller) is not available.

A word of suggestion on fixing the issue would be appreciated!! Please refer below for my code set up.

Thanks in advance!

web.xml (location: /WebContent)

<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 id="WebApp_ID" version="2.5">
 <display-name>Spring30HelloWorld</display-name>
 <servlet>
  <servlet-name>A</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>A</servlet-name>
  <url-pattern>*.htm</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.htm</welcome-file>
 </welcome-file-list>
</web-app>

A-servlet.xml (location: /WebContent/WEB-INF/)

<?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:p="http://www.springframework.org/schema/p"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd"&gt;


 <context:component-scan base-package="com.controller" />
</beans>

HelloWorldController.java (location: /src/com/controller)

package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;


@Controller
public class HelloWorldController {

 @RequestMapping("/helloWorld" )
 public ModelAndView sayHello() {
  System.out.println("hello!");
  //return new ModelAndView("helloworld.jsp", "hello", "hello");
  return new ModelAndView("helloworld.jsp");
 }

}

helloworld.jsp (location: /WebContent/)

<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Simple Spring 3.0 Web App</h1>

<p></p>
</body>
</html>
+2  A: 

You map your servlet on *.htm

Change

@RequestMapping("/helloWorld" )

with

@RequestMapping("/helloWorld.htm" )

and type /A/helloworld.htm

Also, you may read Spring MVC framework online doc

Yuri.Bulkin
i found the problem now. namespace of ModelAndView should be servlet instead of portlet. Thanks for your feedback anyway!
Daniel