tomcat部署
1.下载tomcat 9.0(向下兼容到jdk1.8)
2.配置CATALINA_HOME环境变量,value=C:UsersASUSDesktopapache-tomcat-9.0.33(tomcat所在的文件夹)
3.测试jdk的环境变量是否合法
4.切换到tomcatin下,cmd运行startup,启动tomcat
5.浏览器搜索网址 http://localhost:8080,如果跳转到tomcat官网,说明配置成功了
6.调用shutdown(一直到报异常),关闭tomcat
Tomcat静态网站:
1.Tomcat安装目录/webapps/ 创建一个文件夹,这个文件夹就是【网站】
2.在【网站】存入【静态资源文件】
3.启动Tomcat后会进入这个静态资源网站
Tomcat动态网站:
1.src:存放Java文件,这些Java文件(特指Servlet)是可以被tomcat调用的,用来搭建网站动态部分
2.web: 静态资源文件和配置文件,用来搭建网站静态部分
WEB-INF/web.xml:里面注册了各种Servlet
下面就配置了一个Servlet
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>com.bjpowernode.controller.OneServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/one.do</url-pattern> </servlet-mapping> </web-app>
Servlet基本规范
一:何种Java类可以被Tomcat调用,可以作为网站的【动态共享资源文件】
1. Servlet规范中,认为只有【Servlet接口实现类】有资格作为【动态共享资源文件】
2.【Servlet接口实现类】必须由开发人员负责创建
二:如何开发一个Servlet接口实现类.
1.创建一个实现类,需要继承与【HttpServlet】
2.【HttpServlet】存在Tomcat中lib/servlet-api.jar ; javax.servlet.http.HttpServlet
3.根据来访的浏览器采用的请求方式,重写对应doGet或则doPost
4.在/WEB-INF/lib中web.xml 注册Servlet接口实现类,通知Tomcat当前网站存在了一个动态资源文件
三:Tomcat调用Servelt接口实现类流程。
1.浏览器向服务端发送了一次请求 http://localhost:555/myWeb/first
2.Tomcat接收到这个请求。首先将请求资源文件作为动态资源文件。到web.xml进行文件定位。如果有调用
如果没有找到对应的动态资源文件。此时Tomcat认为本次请求的是一个静态资源文件,从web下进行定位。
如果有返回,如果还没有此时返回404状态码
3.Tomcat到web.xml根据<url-pattern>进行定位<servlet-name>
4.<servlet-name>定位<servlet-class>找到本次请求调用Servelt
5.Tomcat根据浏览器采用的请求方式,调用Servlet中doGet或则doPost,,即<url-pattern> -> <servlet-name> -> <servlet-class> -> doGet/doPost
6.在doGet/doPost方法调用完毕后,Tomcat负责将响应包推送给浏览器
下面是一个Servlet类,在浏览器请求网址 http://localhost:8080/MyWeb/one.do 时就会调用doGet
public class OneServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("OneServlet doGet run"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
idea里指定tomcat管理的网站
【RUN】----【Edit Configuration】--->tomcat管理通道---》【Deployment】---》添加需要被TOmcat管理的网站