Я довольно новичок в весне. У меня есть проект динамического веб-приложения. Внутри у меня есть сервлет, который является запросом на получение. Запрос поставляется с запросом №. На основе no я создам новый объект для соответствующего класса запроса и подаст запрос. Теперь мне нужно интегрироваться с весной. я применил ниже конфигурацию,Как настроить и загрузить весенний контекст в проекте сервлета
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" />
Но во время запуска приложения я получаю NullPointerexception при вызове метода one.print(). Каков правильный способ (конфигурация), чтобы получить это?
Спасибо.
Что вы хотите. сервлет или контроллер. В настоящее время они оба, и у вас есть 2 экземпляра этого класса. Я предлагаю удалить аннотацию '@ WebServler' и' extends Servlet' и сделать ее надлежащим контроллером, используя '@ RequestMapping'. –