spring mvc方面的问题

西部流云 2009-03-17 04:53:14
web.xml 配置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml,
/WEB-INF/dispather-servlet.xml</param-value>

</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>

<!-- 初始化DispatcherServlet,Spring会在web应用的WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml的配置文件,
生成文件中定义的bean。这些bean会覆盖在全局范围(global cope)中定义的同名的bean。
-->
<servlet>
<servlet-name>dispather</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dispather</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
dispatcher-servlet.xml 配置如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<!-- View Resolver的prefix和suffix参数指定了表现层资源的前缀和后缀,运行时,Spring 将为指定的表现层资源自动追加
前缀和后缀,以形成一个完整的资源路径。 -->
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
<!--Request Mapping -->
<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<!-- “请求/处理单元”关系映射可以看到,这里将“/hello.do”请求映射到处理单元helloController.
<props>节点下可以有多个映射关系存在,目前只定义了一个。 -->
<props>
<prop key="/index.jsp">Controller1</prop>
</props>
</property>
</bean>
<!---Action Definition-->
<bean id="Controller1" class="com.spring.Controller1">
<!--
<property name="helloManager" ref="helloManager" />
-->
</bean>

</beans>

Controller1.java code: 如下
package com.spring;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServlet;
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 Controller1 implements Controller{


public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

String name = request.getParameter("name");

if(name==null)

name = "spring";

Map model = new HashMap();

model.put("name", name);

model.put("time", new Date());

return new ModelAndView("test", model);

}

}
提示错误是:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.context.request.RequestContextHolder.setRequestAttributes(Lorg/springframework/web/context/request/RequestAttributes;Z)V
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:473)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:416)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.lang.NoSuchMethodError: org.springframework.web.context.request.RequestContextHolder.setRequestAttributes(Lorg/springframework/web/context/request/RequestAttributes;Z)V
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:825)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:461)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:416)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.23
...全文
97 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
still_r 2009-03-17
  • 打赏
  • 举报
回复
有问题的地方你没贴出来
nested exception is java.lang.NoSuchMethodError:
没找到方法setRequestAttributes
应该是setRequestAttribute()吧

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧