Я создаю простое весеннее приложение, в котором я хочу вызвать контроллер из AJAX.Но столкнуться с некоторыми проблемами при использовании сервлет-API.Я добавил зависимость в POM-файл, так как использую HttpServletRequest и HttpServletResponse.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
Если я не включаю эту зависимость jar, то HttpServletRequest не может быть разрешен для проблемы с типом.и если я включаю в зависимости maven и добавляю эти зависимости maven в сборку развертывания, то произошла нижеупомянутая ошибка, и tomcat даже не запустился
INFO: validateJarFile (D: \ workspaceUtilities.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ SpringControllerWebApp \ WEB-INF \ lib \ servlet-api-2.5.jar) - файл не загружен.См. Servlet Spec 3.0, раздел 10.7.2.Класс-нарушитель: javax / servlet / Servlet.class
, и если я удаляю зависимости maven из сборки развертывания, сервер tomcat запускается, но со следующей ошибкой:
SEVERE: Servlet [dispatcher] в веб-приложении[/ SpringControllerWebApp] выбросило исключение load () java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
Пожалуйста, помогите мне в этом сканарио.
Controller class:
package com.src;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.java.Employee;
@Controller
@RequestMapping("/employee/add.htm")
public class EmployeeController {
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody Employee add(HttpServletRequest request,HttpServletResponse response) throws Exception {
System.out.println("EmployeeController--Start");
Employee employee = new Employee();
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
String email = request.getParameter("email");
employee.setEmail(email);
employee.setFirstName(firstName);
employee.setLastName(lastName);
System.out.println("EmployeeController--End");
return employee;
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>SpringControllerWebApp</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet- class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>