Spring – The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required .class files

springspring-mvc

I am new to spring try to create application so that i can learn how its work. However when i wrote code Eclipse IDE gives

The type javax.servlet.http.HttpServletResponse cannot be resolved.It is indirectly referenced from required .class files

here is my class

package testPackage;  
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import domain.serviceLayer.UserService;
import domain.userDetails.User;

@SuppressWarnings("deprecation")
public class UserLoginFormController extends SimpleFormController  {
    private UserService userService;

    public UserLoginFormController() {
        setCommandClass(User.class);
        setCommandName("user");
    }
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    @Override
    public ModelAndView onSubmit(Object command) throws Exception {
        // TODO Auto-generated method stub

        User user = (User) command;
        userService.add(user);
        ModelAndView modelAndView = new ModelAndView("success", "user", user);
        return modelAndView;
    } 
}

and pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>learnSimpleFormController</groupId>
    <artifactId>learnSimpleFormController</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>  
    <properties>
        <spring.version>3.2.3.RELEASE</spring.version>
    </properties>
    <dependencies>
        <!-- Spring 3 dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>   
    <!-- Servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        </dependencies>
    <build>
        <finalName>learnSimpleFormController</finalName>
    </build>
</project>

Please what is problem and how to remove that error

Best Answer

your project is not referencing to servlet.jar so just add this dependency in your pom

<dependency>
    <groupId>org.apache.geronimo.specs</groupId>
    <artifactId>geronimo-servlet_2.5_spec</artifactId>
    <version>1.2</version>
</dependency>