我在Tomcat Server中使用Spring MVC项目。每次运行应用程序时,都会更改服务器上下文根目录。 如何设置固定的上下文根?
我的项目名称为:DemoApplication, 首先将此上下文根部署为路径, http://localhost:8080/DemoApplication
第二次, http://localhost:8080/Controller web.xml中:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
servlet的context.xml中:
<annotation-driven />
<resources mapping="/resources/**" location="/resources/" />
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<beans:property name="url"
value="jdbc:mysql://localhost:3306/mydp" />
<beans:property name="username" value="root" />
<beans:property name="password" value="root" />
</beans:bean>
<beans:bean id="hibernate4AnnotatedSessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="annotatedClasses">
<beans:list>
<beans:value>com.Aquatech.Model.Area</beans:value>
</beans:list>
</beans:property>
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
</beans:prop>
<beans:prop key="hibernate.show_sql">false</beans:prop>
</beans:props>
</beans:property>
</beans:bean>
<beans:bean id="GenericDao" class="com.Aquatech.Dao.Impl.GenericDaoImpl">
<beans:property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory"></beans:property>
</beans:bean>
<beans:bean id="GenericserviceDao" class="com.Aquatech.ServiceDao.Impl.GenericServiceDaoImpl">
<beans:property name="genericDao" ref="GenericDao"></beans:property>
</beans:bean>
<interceptors>
<beans:bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<beans:property name="cacheSeconds" value="0" />
<beans:property name="useExpiresHeader" value="true" />
<beans:property name="useCacheControlHeader" value="true" />
<beans:property name="useCacheControlNoStore" value="true" />
</beans:bean>
</interceptors>
<context:component-scan base-package="com.Aquatech.Controller" />
答案 0 :(得分:5)
我的项目名是:DemoApplication,首先是这个上下文根 部署路径是http://localhost:8080/DemoApplication和第二个 时间,http://localhost:8080/Controller?
您需要为您的网络应用修复根 (DemoApplication)以修复网址,您可以使用以下选项之一来实现:
(1)按照here
的说明在Tomcat中将root context
设置为DemoApplication
(2)如果您使用的是Maven,可以通过在pom.xml中添加以下标记来修复您的战争名称:
<build>
<finalName>DemoApplication</finalName>
</build>
完成上述任一选项后,您应该可以使用以下网址访问您的应用控制器:
答案 1 :(得分:0)
如果您使用的是 IntelliJ IDE,您可以转到右上角的服务器(编辑配置>选择服务器(例如:- tomcat 8.5.61)>部署)。 有一个字段“Application context: /(base url server_name)”,这里你可以放任何你想保留的内容。