使用骨架构建web项目
选择webapp骨架
全部点Next
出现BUILD SUCCESS就表示创建成功了
最后补全项目结构,新建名为java的文件夹并且右击
而test目录下的java文件夹则
最终效果
写实例
在main文件夹的java目录下新建一个包,并且创建一个servlet
会发现没有对应的jar包,这个时候我们要打开pom.xml配置maven的依赖
应该在此处添加servlet的依赖,但是格式不会写怎么办?
解决方法:
1.依靠idea强大的提示功能
2.中央仓库搜索
我们看看方法2:
选最新版即可
复制粘贴到项目中即可
编写代码并且运行
就简单地打印一个test好了
先不用注解,配置一下xml(下一篇博客会说明)
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.zzq.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
</web-app>
在IDEA右上侧点击Maven,然后点击M
运行mvn tomcat:run
访问http://localhost:8080/maven_web/MyServlet
可能会出现的问题
- 忘记添加作用域
这里稍微介绍一下作用域(scope)的类型:
compile:默认就是compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
test:test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。比较典型的如junit。
runntime:runntime表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。
provided:provided意味着打包的时候可以不用包进去,希望所需要的依赖容器可以提供。
system:从参与度来说,也provided相同,不过被依赖项不会从maven仓库抓,而是从本地文件系统拿,一定需要配合systemPath属性使用。 - 端口被占用
用任务管理器KILL掉8080进程就可以了 - 跟字符集相关的警告
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platfor
在pom.xml文件中添加
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
就可以了