Servlet学习笔记(二)

        毕竟是为了学习Servlet,所以上一篇新建了一个javaWeb应用,现在开始写我的第一个Servlet.

1.引入jar包

        参考《JSP&Servlet学习笔记》第二章,编写HelloServlet,先不管三七二十一,直接按照书上内容把HelloServlet完全Copy下来。如下所示:

        很明显一堆类找不到,说明servlet相关的类不是在jdk里面,百度一下,发现确实得下载额外的jar包,然后我从网上下了servlet-api.jar,这个时候要把jar包引入到项目里面。

           

         如上图将servlet-api.jar放在WEB-INF下面的lib目录(没有lib目录自己新建一个)里;然后打开project Structure,将lib目录添加至Dependencies中。结果得到下图:

        还是有类找不到,继续百度(我觉得我在给百度打广告),annotation所在的jar包版本过低,重新在网上下载了个servlet-api-3.0.jar,重新引入项目中,这次没有报错了。

2.启动项目

           启动没有报错,很开心,那么开始访问hello.view了,结果如下:

        我一脸懵逼,再次重启后,看启动日志确实没有报错。

        难道是我访问路径不对? 为了排查这个是不是访问路径错误导致的问题,我在web.xml中加入servlet相关配置信息,如下:

        重新启动,访问hello.view ,结果如下:

   

        这说明访问路径没有问题,只是原来并没有找到指定的Servlet,那么也就是说,注解@WebServlet("/hello.view")没有生效。百度了一下发现,@WebServlet是servlet3.0新加的特性,而该项目里面web.xml的版本是2.5,支持的是servlet2.5,所以WebServlet也就没有生效(为什么idea不给个编译错误提示呢?)。接下来就简单了,把web.xml的版本改成3.0,如下:

        重新启动,报错了。。。这就很尴尬了:

        百度了上诉错误,得到的结论是weblogic10.3.4并不支持web-app_3_0.xsd的定义,weblogic10.3.x是servlet2.5的容器。

        好吧,要么升级weblogic版本,要么下个tomcat7.0以上的版本。我图省事,就下载了个tomcat7,然后把项目部署上去。

 成功了!!!

 

 

       

 

遗留问题:

    1.weblogic和tomcat不同版本对servlet版本的支持

    2.web.xml的配置分别都代表着什么意思

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值