Tomcat
tomcat是一个http的服务器,用来简化我们的网站开发
大家在下载的时候,如果jdk是8,那么tomcat也应该大版本是8
安装解压缩后,可以看到其中的一系列目录
- bin 是tomcat的启动脚本(start.bat是windows用的,start.sh是Mac和linux用的)
- conf 配置文件
- logs 日志打印信息
- webapps 部署网站用的(将前后端代码放到这里即可访问)
启动程序后,访问127.0.0.1:8080,如果看到了tomcat的欢迎页面,说明启动成功了
其中8080是tomcat的默认端口
Servlet
这是tomcat给程序员二次开发的api,方便我们开发后端程序,使不同的请求能够返回不同的页面,形成动态页面
具体步骤
先创建一个maven项目
选择其中的maven,然后点next,jdk版本最好是8,能和之前讲的JDBC和后面的Servlet的版本对应上
命名后点击finish
在项目的左侧构造这样的目录结构
然后在web.xml文件中添加这样的代码,如果报红了,也没有关系,不影响正常的使用
<!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>
在pom.xml中添加依赖
大家在这个网址下,可以访问maven中央仓库
https://mvnrepository.com/
搜索servlet,选择第一个java servlet api
选择其中的3.1.0版本的
复制其中的maven代码到pom.xml中
先在pom.xml中添加标签,然后粘贴刚才的代码
再添加下面这样的代码,可以将之后的打包程序的格式变成war包,并且名字可以变成servlet
<packaging>war</packaging>
<build>
<finalName>servlet</finalName>
</build>
最后我们的pom.xml长这样
如果代码报红,那就点击一下maven的刷新
在刚才我们创建的HelloServlet中,让我们自己的类继承自HttpServlet,重写其中的doGet方法
doGet方法是服务器根据请求计算出相应的响应,与之对应的还有doPost方法,也就是浏览器为服务器传输数据
其中的req是请求,resp是响应,是一个输出型参数,我们用resp中的getWriter()中的write()方法,可以输出自己想要的字符串
在类上加上@WebServlet注解,后面加上一个/xxx的字符串,就代表这个类可以通过url中路径是/xxx并且是get请求获取到
然后,我们使用maven的package进行打包
左侧就会生成target目录,其中包含我们想要的war包
右键这个包,然后选择openin,这样的话就可以在自己的文件夹中看到这个包,把这个war包拷贝到tomcat的webapps的目录中
然后启动tomcat,如果是mac启动请参考我之前的一篇博客——Mac如何启动Tomcat,如果是windows,就双击bin目录下的startup.bat文件
tomcat运行后会自动把我们的war包解压缩
然后就可以上网进行验证了
在浏览器输入127.0.0.1:8080/war包名/类上面的注解中的字符串
如果是按照我刚才那样写的,那就是
127.0.0.1:8080/servlet/hello
到此为止,我们的第一个servlet程序就成功了!