其中web.xml代码:
<servlet>
<servlet-name>sprmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sprmvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
sprmvc-servlet.xml代码:
<beans>
<!-- 处理 URL的分发路径,前面是key,后面是将要执行实际操作的类,也是一个 bean对象-->
<bean id="simipleUrlHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">helloControl</prop>
</props>
</property>
</bean>
<bean id="helloControl" class="cn.shuozhang.HelloWorld"></bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
HelloWorld的代码:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class HelloWorld implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
//ModelAndView mav = new ModelAndView("hello.jsp");
//如果servet-name-servlet中包含intenalResourceViewSolver的Bean对象,则在这里可以省略前缀
ModelAndView mav = new ModelAndView("hello");
mav.addObject("message", "Hello World !");
return mav;
}
}
仅仅如此而已,但在访问时一直会提示:No mapping found for HTTP request with URI [/springMVC_02_Controller/WEB-INF/page/hello.jsp] in DispatcherServlet with name 'sprmvc',找了好久也查不到是什么原因,最终也是在网上查到了处理方法:将web.xml中Servlet中的url-pattern的/*改为/就可以了,但不知道原因,有知道的同学留言哈~
以下附上其它同学的一些解答:
/*强迫所有的请求及响应都经过该servlet;
/将使你配置的servlet成为默认的servlet。