非常新的java。在CRUD hibernate spring项目(sts)上工作。配置xml文件时,我得到错误“构建路径不完整。无法找到javax / servlet / ServletContext的类文件”,由bean id =“viewResolver”。我如何将它放在构建路径上。欢呼声。
<context:annotation-config />
<context:component-scan base-package="com.ger" />
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
答案 0 :(得分:4)
应用似乎缺少来自servlet-api.jar
,jsp-api.jar
,el-api.jar
,j2ee.jar
,javaee.jar
的其中一个广告罐。而且您不需要将这些复制并粘贴到类路径中。当应用程序部署在服务器上时,您将获得这些。首先,您应该从不手动复制/下载/移动/包含各个servletcontainer特定的库。
如果从IDE运行此项目,请检查服务器配置。
答案 1 :(得分:4)
问题是Eclipse中的JIT与Java JDK的工作方式不同,您可以在命令行上使用Maven这样的Java JDK。要解决此问题,只需将以下内容添加到pom.xml文件中即可。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
答案 2 :(得分:4)
好几天都有类似的问题。它说一些依赖项目中缺少一些类(但它们存在),这些类是打开的,它是一个Spring AOP插件(?)问题。关闭项目时,可以在Maven存储库中正确看到依赖关系。从命令行执行maven构建时,仅在STS中没有观察到此问题。
我尝试了各种各样的事情。其中一个,它似乎工作,是用Spring Config编辑器打开applicationcontext.xml文件,转到命名空间选项卡,取消选择上下文命名空间,保存(可能做一些清理),然后选择上下文命名空间,再次保存。祈祷或跳舞你最喜欢的雨舞也应该有帮助:) 我看到这个错误的行是:
<context:component-scan base-package="aaa.bbb" />
答案 3 :(得分:-1)
对于WAR项目,当您没有将* .war文件移动到部署文件夹中时,这是一个常见错误...显然,服务器无法找到它不知道的内容。
如果您使用的是基于Eclipse的IDE,只需在&#34; Servers&#34;中右键单击要部署的服务器。选项卡,然后选择&#34;添加和删除&#34;,然后将.war文件移动到部署文件夹中。重新启动服务器并导航到URL以查看是否可以解决问题。