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