jsp课堂分享|在idea中构建tomcat+maven web
maven:Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
简而言之,利用Maven来管理项目jar包,会方便很多,并且可以引用本地库,减少流量下载。
1. 构建一个maven web Project
1-新建Project
1.png 2.png 3.png
接下来直接next就好
5 右下角.png导入项目结构,建议点击右边,即可自动导入,以免重复操作。
2- 配置代码包
(1) 在main下新建文件夹java,并右键》markDirectory》Sources Root
(2) 在webApp中新建文件夹classes,用于存储生成的class文件
3- 引入pom.xml Servlet jar包
<!-- 注意要在dependencies中 -->
<!-- 最新版本号具体参考以下的链接 -->
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>最新版本号</version>
<scope>provided</scope>
</dependency>
若之前无点击自动导入的注意右下角有弹窗提示导入。
4- 在java包中新建Servelt类测试
image.png
注意这一步要在引入servelt包之后,否则可能找不到这一项。
5- 在web.xml中配置Servelt
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
6- 配置Tomcat
image.png
image.png
注意一定要点+号这一项。
image.png
接着一般选择 项目名:war exploded
war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;
war exploded 支持热部署(即除了第一次运行后,其他改动后部署时只更新改动部分)
采用热部署时,Tomcat需要配置
image.png
7- 指定项目输出位置
左上角 file》ProjectStructure》指定刚才创建的classes目录
image.png
8- 运行测试
注意做左边选择是刚才添加的tomcat
image.png
image.png
成功!
9- 测试Servlet以及热部署
在刚才新建的Servlet#doGet()中添加代码
response.getWriter().print("hello servlet!");
点击该图标进行热部署,更新只需几秒。
image.png image.png
成功!
2. 常见错误总结
-
端口占用
image.png
在Tomcat中修改端口即可
image.png - 首页启动正常,但Servlet测试报404 not found 后台报No mapping found for HTTP request with URI
image.png
image.png
解决建议:检查web.xml 查看servlet-mapping配置是否出错。
-
重新打开项目或成员克隆项目后,改动代码,运行没有变化
重新配置java目录,且将class目录指定为文件项目输出位置,打开maven刷新一下。这些步骤不清楚可以重新看一下上面。
image.png