jsp+servelt项目,web规范4.0,使用注解开发遇到的问题

1.问题描述

当我使用javaweb4.0规范开发时,创建的servlet是这样的,

jsp+servelt项目,web规范4.0,使用注解开发遇到的问题_第1张图片

然后当我启动的时候,就会抛出一下异常

ContainerBase.addChild: start: 容器添加子程序
org.apache.catalina.LifecycleException: Failed to start component 【阿帕奇,容器生命周期异常:启动组件失败】[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/projectName]] 

……

十二月 12, 2019 3:00:51 下午 org.apache.tomcat.util.modeler.BaseModelMBean invoke 
严重: Exception invoking method createStandardContext 【异常调用方法createStandardContext】查阅了之后,明白createStandardContext这个东西就是在启动我们的项目的内容了。

分析:分析了一下异常,初略的判断出是启动项目失败,原因是文件配置不对,怎么分析出是配置文件呢,

(1)不是语法问题,语法问题编译会报错

(2)不是代码调用问题,代码调用的异常会打印具体的代码位置,和什么异常;

(3)不是jdbc的问题,开始的时候jdbc没有调用,如果有问题,那也会打印sql exception

(4)影响Tomcat启动项目的,而IDEA编辑器又没有检查出来错误的,那么应该就是文件配置的问题了。

真相只有一个:我的servlet配置有问题,那么问题又来了,我web4.0规范没web.xml文件,所以我迅速的锁定的问题产生的地方

jsp+servelt项目,web规范4.0,使用注解开发遇到的问题_第2张图片

由于新建的servlet默认只有name的配置,没有value配置,所以就有servlet但是没有映射路径,查看

@WebServlet源码

jsp+servelt项目,web规范4.0,使用注解开发遇到的问题_第3张图片

好了,问题解决了。

2.解决方案

在servlet类上面的@WebServlet注解中添加value配置,或者删除name=,让里面的参数默认成为value的配置;

*注意*:value参数需要加上"/"

ok,启动成功!

3.问题总结

遇到问题先分析原因,结合自己所知道的,多思考,不要第一时间就去百度,谷歌,多思考,才能成长。

 

你可能感兴趣的:(servlet)