• 01-Tomcat安装搭建第一个web项目


    一、Tomcat的安装

    tomcat.apache.org

     下载完成后会看到如下目录

     1、目录说明

    bin目录

    • .bat windows下的可执行程序
    • startup.bat 启动程序, 双击后就会把tomcat服务启动, 浏览器中输入localhost:8080 会看到一个本地界面,意味着tomcat安装成功了,需要jdk支持
    • shutdown.bat 关闭操作
    • shutdown.sh linux系统使用

    conf配置文件

    • server.xml 可以修改端口号等
    •     <Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />

    lib目录

    包含很多jar包, 有两个jar包是很重要的

    • jsp-api.jar
    • servlet-api.jar

    log目录

    • 存放日志信息

    temp目录

    • 存放临时文件

    webapps

    • 之前创建普通工程想要运行可以打成jar包, web项目要打成war包

     二、第一个web程序

    IDEA是2021版本

    创建一个工程后,邮件点击Add Framework Support

     勾选Web Application, Ok

     项目中会看到web目录

     src下创建包xyz.kxq, 新建Myservlet文件

    想象一下如果自定义Tomcat的逻辑

    需要定义
    request对象                            Tomcat中有此对象
    response对象                           Tomcat中有此对象
    server对象                             Tomcat本身就是一个Server
    MyHttpServlet接口规范                   或者是抽象类,或父类,在子类中实现
    实现MyServlet子类                       自己实现
    以及Mapping映射关系                      配置
    public class MyServlet extends HttpServlet

    这里继承会飘红找不到父类, 并没有一个依赖关系, Tomcat下lib目录 servlet-api.jar导入

     选择Project Structure, 按下图添加

     这样就可以了, 会看到HttpServlet导入了

    import javax.servlet.ServletException;
    
    public class MyServlet extends HttpServlet {
    
    }

    Myservlet.java

    package xyz.kxq;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class MyServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            super.doGet(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            super.doPost(req, resp);
        }
    
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //        super.service(req, resp);
            resp.getWriter().write("first web project");
            System.out.println("my first web project");
        }
    }

    映射关系, web.xml

    <?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>myServlet</servlet-name>
            <servlet-class>xyz.kxq.MyServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>myServlet</servlet-name>
            <url-pattern>/first</url-pattern>
        </servlet-mapping>
    </web-app>

    程序写好了,接下来该运行了, 运行方式需要把当前web tomcat包加载进来

    选择Run , Edit Configurations

     接下来选择Tomcat版本, 点击+, 选择Local, 

     点击Local会看到

     没有一个标准区分部署环境, 一个Tomcat会部署N多个web项目, 这时就要选择一个合适的, 也就是说有多个相同的请求时能匹配到哪一个项目.

    点击Fix,

    选择Deployment, 右侧一直下拉

     一般与项目名一致, Apply OK

     运行可能会报错

    Error: java: Compliation failed: internal java compiler error

    xuanze File->Settings

     启动成功

     FirstWeb区分不同路径下相同请求

  • 相关阅读:
    OpenDaylight及Postman实现VxLAN网络实验
    OpenDaylight的C/S模式实验
    OpenFlow1.3协议基于Mininet部署与验证
    Open vSwitch流表应用实战
    Open vSwitch的VxLAN隧道网络实验
    Open vSwitch的GRE隧道实验网络
    Open vSwitch使用案例扩展实验
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
    福大软工 · BETA 版冲刺前准备(团队)
  • 原文地址:https://www.cnblogs.com/kongxiangqun/p/15337087.html
Copyright © 2020-2023  润新知