【问题标题】:How to configure and load spring context in servlet project如何在 servlet 项目中配置和加载 spring 上下文
【发布时间】:2015-02-15 16:14:12
【问题描述】:

我对春天很陌生。我有动态 Web 应用程序项目。在里面我有一个接收请求的servlet。该请求带有请求编号。基于否,我将为适当的请求类创建一个新对象并为请求提供服务。现在我需要与 spring 集成。我应用了以下配置,

WEB.XML(加载弹簧上下文)

<servlet>
        <servlet-name>spring-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/docspring.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

在小服务程序中

package com.receve;
@Controller
@WebServlet("/Recever")
public class Recever extends HttpServlet {

    @Autowired
    private ClassOne one;

protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

     //request parameters receved and
     if(req==1){
       one.print();
     }
}

    public ClassOne getOne() {
        return One;
    }

    public void setOne(ClassOne one) {
        this.one = one;
    }

}

在 ClassOne 中

package com.operations;
@Component
public Class ClassOne{
  public void print(){
   //some statement;
  }
}

在spring.xml中

<context:annotation-config />
    <context:component-scan base-package="com" />

但是在运行应用程序时,我在调用 one.print() 方法时遇到了 NullPointerexception。获得这个的正确方法(配置)是什么?

谢谢。

【问题讨论】:

  • 你想要什么。 servlet 或控制器。目前两者都是,并且您有该类的 2 个实例。我建议您删除 @WebServler 注释和 extends Servlet 并使用 @RequestMapping 使其成为适当的控制器。

标签: java spring spring-mvc servlets


【解决方案1】:

去掉extends HttpServlet,默认情况下自动装配是关闭的,所以一个bean的默认自动装配模式是'no'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多