来看下 下面的问题是如何产生的
maven有个核心功能是一键构建,一键构建的意思是不在使用本地安装的tomcat而是使用maven自身继承的tomcat插件对项目进行构建
maven自身具有tomcat插件。
先找到本地安装的tomcat的目录看一个现象。
这两个包刚好就是刚才在pom.xml内倒入的两个jar包
当我们运行项目的时候,项目中出现了两套一模一样的包,一套是servlet一套是jsp
我们自己倒入的包和servlet中自己的包是相互冲突的,名称一模一样,所以就有了冲突。
我们只想让她在写代码的时候起作用也就是只想在编译的时候起作用。。maven已经有了处理方法。对这两个jar包设置作用域
点击红色按钮,先停掉项目。
使用scope标签
这样就让这这个jar包只在编译时,也就是写代码的时候起作用。真正项目运行的时候不起作用。
项目运行时候,会使用tomcat下的这俩jar包
jsp的包同理
测试,只在测试的时候起作用
再次启动项目
程序启动没有问题
刷新页面
创建jsp
切回页面刷新即可。
以上jsp的小demo就演示完了
演示异常
先把日志都清理掉
服务没有停止,又运行了tomcat:run
报一个端口被占用的异常
养成习惯 用完就停掉服务。