GVKun编程网logo

org.springframework.test.web.servlet.htmlunit.webdriver.WebConnectionHtmlUnitDriver的实例源码

5

关于org.springframework.test.web.servlet.htmlunit.webdriver.WebConnectionHtmlUnitDriver的实例源码的问题就给大家分享到

关于org.springframework.test.web.servlet.htmlunit.webdriver.WebConnectionHtmlUnitDriver的实例源码的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet、javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet、maven org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter、org.springframework.boot.test.autoconfigure.web.servlet.MockMvcBuilderCustomizer的实例源码等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

org.springframework.test.web.servlet.htmlunit.webdriver.WebConnectionHtmlUnitDriver的实例源码

org.springframework.test.web.servlet.htmlunit.webdriver.WebConnectionHtmlUnitDriver的实例源码

项目:spring4-sandBox    文件:mockmvcHtmlUnitWebDriverCreateTaskTests.java   
@Before
public void setUp() throws Exception {
    driver = mockmvcHtmlUnitDriverBuilder
            .webAppContextSetup(context)
            .withDelegate(new WebConnectionHtmlUnitDriver(browserVersion.CHROME))
            .contextpath("")
            .build();
}

java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

今天朋友发了个maven项目给我看,问我为什么启动不了。说实话,一直用Jfinal都快不会用spring了… 还是决定看看。

接收了文件,是maven构建的,打开eclipse,导入maven项目,然后部署到tomcat,启动tomcat,就报错了:“java.lang.ClassNotFoundException: org.springframework.web. servlet.DispatcherServlet”,错误信息如下图:
这里写图片描述
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

很明显的第一反应就是没有SpringMVC的包,于是检查pom.xml,发现没有问题,spring web mvc包是正确引入了的,查看Maven Dependencies,发现也是正常的,打开jar包,也没有问题,web.xml配置也没有问题…

我去,难道jar包版本问题,于是部署了更高版本的jar包,并且还试过配置更高的JDK版本,依然报错,不能启动…

于是google,发现大部分人都是说没有导入jar包,没有部署成功,可是jar包我导入了,也配置正确了。

就在这时,突然看到有个人说tomcat是否部署成功,于是立刻查看网站部署的文件夹,发现WEB-INF下根本没有lib文件夹…

原因找到了,但是为什么没有正确的部署呢,突然想到有个叫“Deployment Assembly”的配置,马上打开项目属性,找到该栏配置,果不其然,Maven Dependencies果然没有配置到WEB-INF/lib下,于是立刻配置,如下步骤:

在项目上右键properties(应该是最后一项),打开如下界面

Add -> Java Build Path Entries -> Next -> Maven Dependencies -> Finish -> Ok,配置完后如下图:


这里写图片描述
完成后再次启动tomcat,Perfect,就搞定了!
本文转载自: Maven构建SpringMVC环境报错“java.lang.ClassNotFoundException: org.springframework.web.servlet. DispatcherSe

PS:的确是这样的,因为对比正常项目之后就会发现,的确是少了那一项

javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet

javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet

如何解决javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet

您可能会觉得这是一个重复的问题,但没有一个具有相同标题的问题能解决我的问题。我正在使用 Jersey 3.0 在 Eclipse 中创建一个 RESTful Web 服务,我使用 Tomcat 9.0 作为我的服务器。

解决方法

Jersey 3.x 使用 Servlet 5.0,现在使用 Jakarta 命名。所有 javax.servlet 包装现在都已更改为 jakarta.servlet。泽西岛 ServletContainer 现在扩展 jakarta.servlet.http.HttpServlet;它不再是 javax。第一个使用 Jakarta 的 Tomcat 是 Tomcat 10.x; Tomcat 9.x 仍然使用 javax.servlet 包装。所以如果你想使用 Jersey 3.x,那么你应该将你的 Tomcat 升级到 10.x。

maven org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter

maven org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter

使用 maven 将项目部署到 tomcat 容器,启动的时候报如下错误:

 

解决 Setting property''source'' to ''org.eclipse.jst.jee.server 的问题

http://blog.csdn.net/z69183787/article/details/19911935

[java] view plain copy

  1. 严重: Exception starting filter charsetFilter  
  2. java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter  
  3.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)  
  4.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)  
  5.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)  
  6.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)  
  7.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)  
  8.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
  9.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)  
  10.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
  11.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)  
  12.     at org.apache.catalina.startup.Embedded.start(Embedded.java:825)  
  13.     at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)  
  14.     at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)  
  15.     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)  
  16.     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)  
  17.     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)  
  18.     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)  
  19.     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)  
  20.     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)  
  21.     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)  
  22.     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)  
  23.     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)  
  24.     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)  
  25.     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)  
  26.     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)  
  27.     at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)  
  28.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  29.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
  30.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
  31.     at java.lang.reflect.Method.invoke(Method.java:483)  
  32.     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)  
  33.     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)  
  34.     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)  
  35.     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)  
  36.   
  37. 五月 29, 2015 11:01:46 上午 org.apache.catalina.core.StandardContext filterStart  
  38. 严重: Exception starting filter springSecurityFilterChain  
  39. java.lang.ClassCastException: org.springframework.web.filter.DelegatingFilterProxy cannot be cast to javax.servlet.Filter  
  40.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)  
  41.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)  
  42.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)  
  43.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)  
  44.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)  
  45.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
  46.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)  
  47.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
  48.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)  
  49.     at org.apache.catalina.startup.Embedded.start(Embedded.java:825)  
  50.     at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)  
  51.     at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)  
  52.     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)  
  53.     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)  
  54.     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)  
  55.     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)  
  56.     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)  
  57.     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)  
  58.     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)  
  59.     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)  
  60.     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)  
  61.     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)  
  62.     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)  
  63.     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)  
  64.     at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)  
  65.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  66.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
  67.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
  68.     at java.lang.reflect.Method.invoke(Method.java:483)  
  69.     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)  
  70.     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)  
  71.     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)  
  72.     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)  

 

 

pom.xml 文件部分配置如下:

[java] view plain copy

  1. <pre  name="code"><dependencies>  
  2.         <dependency>  
  3.             <groupId>jstl</groupId>  
  4.             <artifactId>jstl</artifactId>  
  5.             <version>1.2</version>  
  6.         </dependency>  
  7.         <dependency>  
  8.             <groupId>javax.servlet</groupId>  
  9.             <artifactId>servlet-api</artifactId>  
  10.             <version>2.5</version>  
  11.             <strong><scope>provided</scope><!-- 此处已经改过,试过还是不行 --></strong>  
  12.         </dependency>  
  13.         <!-- aspectj dependency -->  
  14.         <dependency>  
  15.             <groupId>org.aspectj</groupId>  
  16.             <artifactId>aspectjrt</artifactId>  
  17.             <version>1.6.11</version>  
  18.         </dependency>  
  19.         <dependency>  
  20.             <groupId>org.aspectj</groupId>  
  21.             <artifactId>aspectjweaver</artifactId>  
  22.             <version>1.6.11</version>  
  23.         </dependency>  
  24.         <!-- Data Source -->  
  25.         <dependency>  
  26.             <groupId>org.apache.commons</groupId>  
  27.             <artifactId>commons-dbcp2</artifactId>  
  28.             <version>2.0</version>  
  29.         </dependency>  
  30.         <dependency>  
  31.             <groupId>commons-pool</groupId>  
  32.             <artifactId>commons-pool</artifactId>  
  33.             <version>1.5.7</version>  
  34.             <scope>runtime</scope>  
  35.         </dependency>  
  36.         <!-- javax  -->  
  37.         <dependency>  
  38.             <groupId>javax</groupId>  
  39.             <artifactId>javaee-api</artifactId>  
  40.             <version>7.0</version>  
  41.             <scope>provided</scope> <!-- 问题出在这里 -->  
  42.         </dependency>  
  43.     </dependencies>  

 

 

 

 

 


web.xml 文件部分配置如下:

[html] view plain copy

  1. <servlet>  
  2.     <servlet-name>springMVC</servlet-name>  
  3.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  4.     <load-on-startup>2</load-on-startup>   
  5. </servlet>  

[html] view plain copy

  1. <!-- Configure Charset -->  
  2. <filter>  
  3.     <filter-name>charsetFilter</filter-name>  
  4.       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  5.       <init-param>  
  6.          <param-name>encoding</param-name>  
  7.          <param-value>UTF-8</param-value>  
  8.       </init-param>  
  9.       <init-param>  
  10.            <param-name>forceEncoding</param-name>  
  11.            <param-value>true</param-value>  
  12.      </init-param>   
  13.  </filter>  


纠结了一天,网上说是 jar 包冲突:

“tomcat 启动后先将 tomcat/lib 目录下的 jar 包全部读入内存,如果 webapps 目录里的应用程序中 WEB-INF/lib 目录下有相同的包,将无法加载,

不同版本的包之间也会造成类似问题。

解决这个问题的方法就是对于 servlet-ap.jar 使用 <scope> 标签,编译的时候用到 servlet-api 和 jsp-api,但在打包的时候不用这两个依赖

如下”

 

[html] view plain copy

  1. <dependency>  
  2.      <groupId>javax.servlet</groupId>  
  3.      <artifactId>servlet-api</artifactId>  
  4.      <version>2.4</version>  
  5.      <scope>provided</scope>  
  6. </dependency>  

 

 


后来在网上看到一篇文章(http://stackoverflow.com/questions/15715864/opensessioninviewfilter-cannot-be-cast-to-javax-servlet-filter),终于找到问题。

 

如下测试代码,能告诉你 class 文件是从哪个 jar 包中加载的

[java] view plain copy

  1. @Test  
  2. public void get(){  
  3.     URL url = Filter.class.getProtectionDomain().getCodeSource().getLocation();  
  4.     System.out.println("path:"+url.getPath()+"  name:"+url.getFile());  

import java.net.URL;

import javax.servlet.Filter;

import org.junit.Test;

public class d {
    @Test
    public void testget(){  
        URL url = Filter.class.getProtectionDomain().getCodeSource().getLocation();  
        System.out.println("path:"+url.getPath()+"  name:"+url.getFile()); 
    }

}
 

 

  1. // 输出结果:path:/C:/Users/User/.m2/repository/javax/javaee-api/7.0/javaee-api-7.0.jar  name:/C:/Users/User/.m2/repository/javax/javaee-api/7.0/javaee-api-7.0.jar  

 

我们实际项目中用到了 javaee 的 api,javaee-api-7.0.jar 文件中也有 Filter,所以 在引用 javaee-api 依赖的时候,pom.xml 文件中对应的加上 “<scope>provided</scope>” 就可以了

 

(说明:

测试的时候,需要将 pom.xml 文件中

[html] view plain copy

  1. <!--   

[html] view plain copy

  1. <dependency>  
  2.     <groupId>javax.servlet</groupId>  
  3.     <artifactId>servlet-api</artifactId>  
  4.     <version>2.5</version>  
  5.     <scope>provided</scope>  
  6. </dependency>  

[html] view plain copy

  1. -->  

org.springframework.boot.test.autoconfigure.web.servlet.MockMvcBuilderCustomizer的实例源码

org.springframework.boot.test.autoconfigure.web.servlet.MockMvcBuilderCustomizer的实例源码

项目:sagan    文件:IntegrationTestsConfig.java   
@Bean
public mockmvcBuilderCustomizer mockmvcBuilderCustomizer(Listablebeanfactory beanfactory) {
    Filter springSecurityFilterChain = beanfactory.getBean("springSecurityFilterChain",Filter.class);
    return builder -> builder.addFilters(springSecurityFilterChain)
            .defaultRequest(get("/").with(csrf()).with(user(123L).roles("ADMIN")))
            .build();

}

今天的关于org.springframework.test.web.servlet.htmlunit.webdriver.WebConnectionHtmlUnitDriver的实例源码的分享已经结束,谢谢您的关注,如果想了解更多关于java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet、javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet、maven org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter、org.springframework.boot.test.autoconfigure.web.servlet.MockMvcBuilderCustomizer的实例源码的相关知识,请在本站进行查询。

本文标签: