在准备打断点的时候打开首页面,发现直接报错
Servlet.service() for servlet [jsp] in context with path [] threw exception
严重: Servlet.service() for servlet [jsp] in context with path [] threw exception
[java.lang.NullPointerException] with root cause
java.lang.NullPointerException
而我之前的也没改什么配置,唯一的操作就是加了几个maven的依赖。
<!--j2ee相关包 servlet、jsp、jstl-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
以上代码,是为了防止MyServlet.java 文件报错。但是tomcat 启动时,也会进行相应检索,检索到图上代码,会和Maven 内置的 tomcat 中的jar 包起冲突,从而报错。
按网上说的解决办法
增加调用范围约束 <scope>provided</scope>, 从而只在代码编译的时候调用上述代码块;
运行的时候时候,就不会调用上上述代码块,最后不会再和内置tomacat 的 jar 包起冲突。
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>