tomcat-java.lang.SecurityExcepti
2021-05-19 本文已影响0人
天马行空爱做梦
背景:
servelet 在用tomcat 启动后,发起hello 路径的请求的时候,有
java.lang.SecurityException: Prohibited package name: java.com.xx异常抛出。
排查问题:
排查发现,java.lang.ClassLoader.preDefineClass方法首先对类名进行了检查,发现以java作为一级包名,则抛出安全异常:禁止使用的包名!
解决方法
如图:把java的文件夹放到com文件夹下面,不作为一级包名就好了
![](https://img.haomeiwen.com/i11788581/9427d7a4cf9dac59.png)
所谓的一级包名,
如下截图中一级包名字是com开头的:
![](https://img.haomeiwen.com/i11788581/aac6a0852b5b9adf.png)
Tomcat理解
Tomcat是服务器,也可以理解为一个容器,一个运行环境(主要容纳和运行jsp、servlet)。tomcat部署成功后就可以直接运行web项目了。
servlet相关子类中的javax.servlet-api jar包时要和tomcat下lib中的javax.servlet-api jar包符合的。这个可以体现出容器或者运行环境的特质。比如应用与操作系统的关系。
Servlet是一个服务器类,它是容器所存放的内容,直接与Tomcat进行交互的(请求和响应)