servlet——tomcat 部署以及基本规范

tomcat部署

1.下载tomcat 9.0(向下兼容到jdk1.8)

2.配置CATALINA_HOME环境变量,value=C:\Users\ASUS\Desktop\apache-tomcat-9.0.33(tomcat所在的文件夹)

3.测试jdk的环境变量是否合法

4.切换到tomcat\bin下,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管理的网站

posted on 2020-04-07 12:30  zsben  阅读(352)  评论(0编辑  收藏  举报

导航