orisonchan 2015-05-14 02:57 采纳率: 0%
浏览 839

tomcat修改了context doc-base为项目里面的文件夹后项目的servlet找不到

我的项目名称叫drivproj,里面有个文件夹叫offsite,我在tomcat的server.xml里将context doc-base修改为drivproj/offsite,那么我原先在drivproj/web-inf里的web.xml里添加的servlet就不起作用了!运行当用到servlet的时候提示找不到该名称!
求大神帮忙!急急急!
另附WEB.XML:
<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<display-name>My Web Application</display-name>

<description>A application for driver.</description>

<context-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>classpath:/spring/*.xml</param-value>
    <!--

    -->
</context-param>

<listener>

    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<servlet>

    <servlet-name>spring-mvc</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>classpath:/spring/springmvc-servlet.xml</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>spring-mvc</servlet-name>

    <url-pattern>*.json</url-pattern>

</servlet-mapping>
<servlet>
    <servlet-name>sponsor</servlet-name>
    <servlet-class>com.news.Sponsorsendmail</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>sponsor</servlet-name>
    <url-pattern>/sponsor</url-pattern>
</servlet-mapping>

<!--编码过滤器-->  

<filter>  

    <filter-name>encodingFilter</filter-name>  

    <filter-class>  

        org.springframework.web.filter.CharacterEncodingFilter  

    </filter-class>  

    <init-param>  

        <param-name>encoding</param-name>  

        <param-value>UTF-8</param-value>  

    </init-param>  

    <init-param>  

        <param-name>forceEncoding</param-name>  

        <param-value>false</param-value>  

    </init-param>  

</filter>  

<filter-mapping>  

    <filter-name>encodingFilter</filter-name>  

    <url-pattern>/*</url-pattern>  

</filter-mapping> 

<welcome-file-list>

    <welcome-file>index.html</welcome-file>

</welcome-file-list>

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 21:21
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你已经正确地设置了Tomcat的context参数docBasedrivproj/offsite。但是,你需要确保你的Web应用程序的根目录与Tomcat服务器的docBase配置相匹配。

    如果你的应用程序位于drivproj目录下,并且你的Web应用的根目录也位于这个目录下(例如,在drivproj目录下的web子目录中),那么你应该能够成功运行你的Web应用程序。否则,请检查一下你的Web应用程序和Tomcat服务器之间的路径设置是否一致。

    另外,如果你是在使用Spring MVC来处理请求的话,你需要在你的applicationContext.xmlweb.xml文件中定义一个Servlet映射,以便Spring可以解析并执行相应的处理器。例如:

    <servlet>
        <servlet-name>spring-mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:/spring/springmvc-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>spring-mvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    在这个例子中,我们定义了一个名为spring-mvc的Servlet,并指定了它在/ URL路径上的映射。这样,当你访问/时,Spring就会调用相应的处理器。

    如果你仍然遇到问题,请提供更多关于你的应用程序结构和配置的信息,这样我可能能提供更具体的帮助。

    评论

报告相同问题?