2013-07-15 165 views
1

我是新來的春天嘗試創建應用程序,以便我可以瞭解它的工作方式。然而,當我寫代碼Eclipse IDE gives無法解析類型javax.servlet.http.HttpServletResponse。它是從所需的.class文件間接引用

類型javax.servlet.http.HttpServletResponse不能resolved.It是間接需要的.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; 
    } 
} 

和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> 

請問什麼是問題以及如何刪除該錯誤

+0

您是否將項目創建爲Maven項目? – Hippoom

回答

2

您的項目不引用到的Servlet.jar所以只需添加在您的POM這種依賴

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

你的項目是不是指任何運行環境。 你可以做folllwoing:導入你的類裏面的jar文件:

import javax.servlet.http.HttpServletResponse 

添加的Apache Tomcat庫如下:

項目>屬性> Java構建路徑>庫>添加庫>服務器運行時>下一頁> Apache Tomcat v 6.0>完成>確定

0

我也有同樣的例外。 我正在使用spring-boot 1.5.3.RELEASE,但我的同事正在使用spring-boot 1.5.4.RELEASE。

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.3.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
</parent> 

所以當我得到他的代碼時,我得到了這個異常。

可能在我的電腦中我有老的啓動maven jar文件和maven無法更新這些jar文件。 即使我從.m2文件夾中刪除了spring-boot的所有文件夾,但仍然生成相同的錯誤

最後,我通過將pom.xml中1.5.4的spring引導版本更改爲1.5.3來解決問題。

相關問題