javax.servlet.ServletException: Error instantiating servlet class ***

错误原因及分析###

按照计划学习servlet但是只研究了知识,但是很少动手写代码,一年没动编程和学习相关的东西,快要忘记了之前已经养成的方法论了,这从侧面说明,>动手!动手!!一定要动手!!!MJ
这是写的一个测试servlet cookies 和session的小程序,我发现我在目录结构和路径访问以及配置上一直在转圈,这些外围的东西让我搞了将近两个小时,陆续我会将笔记整理出来,这里先放一点,主要是这个错误。由于我servlet比较渣,可能出现这种问题会有一些其他的原因呢,但是在我这里原因是这样的。

 主要问题出现在web.xml文件中,   
 如果你要访问的servlet在项目中有包(package),这里顺便把至少是我开始不太熟悉的路径的问题讲一下*在tomcat中你的web  
  application 即你建的项目在 webapps目录下,假设你的项目名字为 123 于是在webapp下有一个文件加123 里面有一个  
  web.xml文件和一个WEB-INF文件夹 ,WEB-INF 文件夹中有一个class文件夹 ,class文件夹中放置你的编译好的servlet,这样  
  你就可以访问localhost:端口号/123/你要访问的servlet  ,还有一种情况就是大型的项目不会这样弄的,会见很多的包,包里面  
  含有servlet。这时候你的包也要建到class文件夹中,访问的时候要这样访问localhost:端口号/123/一层一层的包/你要访问的  
  servlet* **就在这个时候问题出现了!!!** 你在web.xml中一定要这样写:     
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <!--以上的xml可以暂时过滤掉-->
    <servlet>
        <servlet-name>你要访问的servlet</servlet-name>
        <!--这个地方,一定要把包名大全!!!-->
        <servlet-class>包名.你要访问的servlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>你要访问的servlet</servlet-name>
        <url-pattern>/包名/你要访问的servlet</url-pattern>
    </servlet-mapping>

</web-app>

webapps的目录结构形象的表示是这样的:

  1. webapps
    • yourWebApplicationName
      • WEB-INF
        * class
        *包servlet/裸servlet
      • web.xml
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值