一、创建一个新的Maven空项目
首次创建maven项目的时候,会自动从maven网站上下载一些依赖组件(这个过程需要保证网络稳定,否则后续打包一些操作会出现一些问题)
ps:校园网可能会屏蔽一些网站,可能会导致maven的依赖下载失败(可以切换到手机热点试试)
可以看到这里的目录
二、引入依赖
servlet是tomcat提供的api,不是jdk提供的,属于第三方库
(不是jdk自带的,需要手动安装引入)
通常一个项目依赖的内容非常多,手动管理就很麻烦,而maven就可以很方便的解决这个问题
1)打开maven中央仓库,找到需要servlet的jar包
https://mvnrepository.com/
选择3.1.0这个版本(因为我的tomcat是8这个版本,刚好和这个servlet匹配)
复制代码粘贴到
这个dependecies标签,可以包含很多个依赖,其中我们粘贴进去的dependency标签就是其中一个依赖 复制完之后刷新(右上方会有一个蓝色的m按钮,点一下就可以安装了)
安装成功是这样(安装好之后,后面使用就不用再安装了)
安装失败,会标红(亲测,校园网不太行,第一次失败了,后来用热点才弄好的)
可以看一些这个下载的包在哪
再根据这个信息
找到了这个jar包
三、创建目录(创建一个tomcat结构的目录)
maven项目是普适的,使用于各种场景,不仅仅是tomcat
而我写的代码最总要放到tomcat上,就必须遵循tomcat的要求
创建一个tomcat结构的目录
其中这个web.xml不能空着,里面必须有东西,不然tomcat无法识别,
这里用一个模板复制粘贴进去即可。
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>
IDEA只对Java语言精准报错,对其他语言的报错只能作为参考(不一定准,可以不用管)
实在看不惯这个标红,可以alt+enter键 选择 ignore这个报错也可以
以上几个步骤都是固定式操作,需要多操作几次才能熟悉
预备工作做完之后,接下来才是真正编写代码
四、编写代码
在Java目录中创建一个类,继承HttpServlet这个父类(该类就是前面安装的jar包里的类,不是jdk自带的)
main文件夹下的java里创建类
不是在test下
后面写的时候发现问题了(在这里创建没用的,tomcat网页上查看不到hello world)
重写父类的doget方法
doGet是处理HTTP GET请求的方法
重写,是为了给原有的代码实现自定义的功能
当tomcat收到一个GET请求的时候,有可能会执行到子类这个方法中,这个方法的两个参数分别是
HTTP请求 ,HTTP响应
根据服务器的主要逻辑,大概是三个步骤
1.读取请求并解析
HTTP 请求本身是个字符串,此处就是解析HTTP请求字符串,构造成HttpServletRequest对象(tomcat自动完成)
2.根据请求计算响应(doGet要做的事情,我们要编写的地方)
3.返回响应给客户端
(tomcat会自动,把响应对象组织成HTTP格式的字符串)
doGet方法创建了这个HttpServletResponse resp对象,但目前只是个空壳,需要我们进行计算
这个对象里的各种属性还需要进行设置
五、打包代码
1)在 pom.xml 里写入代码
packaging标签里设置打包的类型,默认打包 jar包。
build标签以及里面的finalname标签,设置包的名字。
(java中通用的打包方式,任何程序都可以打包成 jar 包,jar包里最重要的文件就是 .class文件)
tomcat要求的是 war包
(tomcat专属的压缩包 是 war 包,里面不仅有 .class文件,还有一些tomcat要求的配置文件web.xml等,还有一些代码html,css,js)
2)打包
如果看到build success 就说明打包成功了
可以再左边的目录里,看到target文件,里面出现了java109的war包
失败会显示一些报错原因:
1)可能是网络不顺畅。导致首次打包过程中,下载的一些第三方的jar包,maven下载出现问题。
(首次打包,容易出现问题。这些依赖下载好之后,后续就不用再下载了)
2)配置文件编写错误。例如 pom.xml。
六、部署程序
右键java109这个jar包,在open in 这里,点击explorer
复制目录中的 java109.jar文件,到tomcat的webapps中
启动 tomcat
在tomcat的文件里面, bin下找到startup.bat(windows点bat,linux点sh)启动
启动成功
七、验证程序
通过浏览器,访问tomcat,获取到我们写的代码中的hello world
由于安装了smart tomcat插件,所以路径稍微有点变化
原本访问的是 http://127.0.0.1:8080/109java/hello
后面装了插件,路径是 http://127.0.0.1:8080/hello_servlet/hello
109java对应的路径是,之前导入的这个109java.jar包
hello对应的是
最后成功访问
在tomcat的日志中也能看到,获取到的get请求
八、如果修改了代码
加入代码中有些地方需要修改,修改后,刷新是看不到变化的
需要重新打包,重新部署
重新启动tomcat之后,内容就刷新了