网站建设 中山,网站建设工作量统计表,商业网站建设试题,信息类网站制作文章目录Tomcat什么是TomcatTomcat的安装启动tomcat静态页面的访问动态页面的访问一个Servlet程序的部署流程Tomcat
什么是Tomcat
Tomcat是一个HTTP服务器#xff0c;在开发或调试Servlet代码时应用广泛#xff1b;使用Tomcat#xff0c;实际就是将用户浏览器输入的http请…
文章目录Tomcat什么是TomcatTomcat的安装启动tomcat静态页面的访问动态页面的访问一个Servlet程序的部署流程Tomcat
什么是Tomcat
Tomcat是一个HTTP服务器在开发或调试Servlet代码时应用广泛使用Tomcat实际就是将用户浏览器输入的http请求经Tomcat进行转发到目的服务器再由Tomcat将目的服务器的响应信息返回给浏览器。
对于一些使用html,css等超文本标记语言编写的代码可以直接通过浏览器使用Tomcat来查看效果
Tomcat大抵就是充当一个中转站的效果解析用户的http请求发给目的服务器再将服务器的请求返回。
Tomcat的安装
直接去到tomcat的官网https://tomcat.apache.org/选择自己需要的版本然后点击下图所示的压缩包进行下载即可 下载完成之后对压缩包进行解压可以得到如下所示的目录结构
这里简单介绍tomcat的目录结构实际细节不必深究 bin:该目录下主要存放一些可执行程序像tomcat的启动就是使用该目录下的某个文件完成的 conf:这里主要是有关tomcat的一些配置文件 lib:该目录下是存放tomcat运行过程中所依赖的库 logs:这里存放tomcat的运行日志 temp:这里主要存放的是tomcat在运行过程中产生的一些临时文件 webapps:该目录下就是存放业务代码即自己写的代码像html、css等 work:tomcat的工作目录 启动tomcat
双击tomcat文件夹下bin目录中的文件startup.bat即可启动tomcat 启动成功以后的效果图 这里启动过程中出现乱码的原因是tomcat默认使用UTF-8的编码方式来处理中文但windows的cmd默认是使用GBK编码两种编码方式的不同引起了这里启动时的乱码但实际并不影响使用~
下面我们可以通过浏览器来尝试访问tomcat自带的页面 127.0.0.1是一个环回ip表示当前主机而8080代表tomcat默认的端口号
静态页面的访问
将一个静态文件像html拷贝到tomcat的webapps/root目录下就可以使用浏览器进行访问
动态页面的访问
一个Servlet程序的部署流程
相比于页面内容固定的静态页面我们更多时候见到的都是根据用户操作不同而显示内容不同的动态页面这就需要借助到Tomcat提供的API即Servlet;
下面就是使用Servlet来完成一个简单代码同时使用Tomcat通过浏览器来访问整个过程需要这样7个步骤来完成
创建项目
Tomcat自身是基于Java来实现的程序因此它的正确运行是离不开Java的这里创建项目就是使用Java的开发工具IDEA来创建一个Maven项目 注意如果是首次创建Maven项目一定要等待项目的所有依赖加载成功通过网络自动加载这个过程可能会比较缓慢需要耐心等待但如果这里项目本身的依赖加载失败后续势必会出现更多更加棘手的问题当这里的目录结构如下图时代表加载完成
引入依赖 引入编写Servlet程序所需要的依赖 大致流程如下 访问maven中央仓库https://mvnrepository.com/在输入框中servlet; 选择第一个即可 然后根据自己的Java版本和Tomcat版本选择servlet的版本可以在http://tomcat.apache.org/whichversion.html查询三者对应的版本要求这里我选择了servlet3.1的版本然后复制如下面图所示的内容到maven项目的pom.xml文件中 粘贴之前首先需要在pom.xml文件中写入一个标签 dependencies / dependencies 将复制的内容粘贴在标签内 然后可以再次点击界面右侧的maven按钮再次加载依赖防止依赖加载失败而后续带来问题 创建目录
在main目录下创建如下所示的目录结构一定要保证与图上目录一致因为这是tomcat方识别程序的要求遵守是必须的 然后在我们所创建的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-appdisplay-nameArchetype Created Web Application/display-name
/web-app编写代码
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** Created with IntelliJ IDEA.* Description:* Date: 2023-03-13* Time: 19:21*///添加路径注解
WebServlet(/hello)
public class ServletDemo1 extends HttpServlet {//重写doGet方法Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//简单打印一句代码到服务器的控制台System.out.println(hello,servlet!);//这句代码将在浏览器页面显示resp.getWriter().write(Hello,Servlet!);}
} 注解表示在tomcat收到的众多请求中路径为/hello的请求才会调用ServletDemo1这个类中的代码如果路径不对。tomcat就无法正确访问到代码 doGet方法的两个参数分别表示收到的http请求和需要构造的http响应这里的响应参数最初是一个空对象后续调用方法以后返回的响应数据将被填充到此处这个方法在tomcat收到get请求时才会被触发 resp.getWrite()是将我们后面写入的数据作为响应数据的body,写回给浏览器 这段代码不需要main方法作为程序的入口因为在tomcat中就包含了main方法 打包程序 打包程序依然是借助maven来完成双击这里的package即可 看到如下的提示就表示打包完成 打包完成以后就可以在项目的目录部分看到一个打包之后得到的jar包 maven打包生成的是默认的jar包但是实际tomcat能够识别的却是一个war包所以我们需要重新操作来得到一个war包在pom.xml中添加如下代码 packagingwar/packagingbuildfinalNameServletDemo1/finalName/buildpackaging标签就是用来设置打包格式 build标签下的finalName标签用来设置生成包的名字 重新进行打包~ jar包中包含一些.class文件是普通的Java程序打包的结果 war包中包含.class文件同时包含html、css、其他的jar包等 部署 打包成功之后就可以进行程序的部署了实际就是将打包得到的war包复制粘贴到我们tomcat的webapps目录中去
然后启动tomcat~
验证程序 部署成功之后就可以使用浏览器构造http请求来验证我们程序的执行情况了 http请求的构造我们借助环回ip来实现这里的路径首先是我们打包的war包的名字然后是我们代码中注解的内容注意不要写错哦~ 这样我们就在浏览器看到了程序的运行结果一个简单的servlet程序就完成啦~
over!