idea和Tomcat整合

idea和Tomcat整合

Tomcat

首先介绍一下Tomcat

LInux下在官网上下载后可以直接解压使用,官网下载地址https://tomcat.apache.org/download-90.cgi

介绍一下Tomcat的目录

bin存放Tomcat服务器的可执行文件
conf存放Tomcat服务器的配置文件
lib存放Tomcat服务器所用的jar包
logs存放日志
temp临时文件
webapps部署的web工程
workTomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码和Session钝化目录
如何启动Tomcat(windows下)
  1. 找到Tomcat下的bin目录下的startuop.dat,双击启动,linux下的是startup.sh
  2. 命令行输入:catalina run

测试是否启动成功:

浏览器输入地址:

  • http://localhost:8080
  • http://127.0.0.1:8080
  • http://本机IP:8080
如何关闭:
  1. 直接关闭Tomcat服务器窗口
  2. ctrl+c
  3. 找到Tomcat目录下的bin目录下的shutdown.dat,双击关闭,linux下是shutdown.sh
修改Tomcat的端口号:

找到Tomcat下的conf目录,在server.xml找到Connector标签,修改port,端口范围:1-65535

修改完端口号,需要重启服务器才可以

如何部署web工程到Tomcat中
  1. 第一种方法:只需把web工程的目录拷贝到Tomcat的Webapps目录下即可

    如何访问:只需在浏览器上输入地址:

    http://IP:port/工程名/目录/文件名

  2. 第二种方法:在Tomcat下的conf->Catalina->localhost下新建一个xml文件,代表一个工程

    Context表示一个工程上下文

    path表示工程的访问路径:即xml文件

    docBase表示你的工程目录放在了哪

    示例:

手托html文件到浏览器,这时浏览器的地址是:

file:///E:/book/index.html

它使用的是file://协议,file协议表示告诉浏览器

直接读取file:协议后面的路径,解析展示在浏览器使用:http://IP:port/工程名/资源名,所使用的是http协议。背后的原因完全不同

当我们在浏览器中输入地址如下:

http://IP:port/ -----------> 没工程名时,默认访问ROOT工程

idea和Tomcat整合:

Setting—>Application Server 添加 Tomcat Server

新建Java EnterPrise

IDEA中如何创建动态Web工程:

创建new-----moudle----Java Enterprise

目录介绍:

java目录:存放自己编写的java源代码

webapp:存放web工程的资源文件,比如html,js,css等

WEB-INF目录:是一个受服务器保护的目录,浏览器无法直接访问到此目录的内容

web.xml:是整个动态web工程的配置部署描述文件,可以在这些配置很多web工程的组件,比如:Servlet程序,Filter过滤器,Listener监听器…

lib目录:用于存放第三方jar包,和java中导入jar包方式相似

File------>Project Seructure----->±----->java

如何在IDEA中部署工程到Tomcat上运行
  1. 建议修改web工程对应的Tomcat运行实例名称
  2. 确认Tomcat实例中有配要部署运行的web工程模块
  3. server中URL是访问的地址,还可以修改默认的
  4. 在IDEA中如何运行和停止Tomcat实例
IDEA中Tomcat的几种方式
  1. Update resource:重新更新web工程的资源到Tomcat运行实例
  2. Update classes and resource:更新web工程中的class字节码和资源文件到Tomcat运行实例中
  3. Redeploy:重新部署web模块,但不重启Tomcat实例
  4. Restart server:重启Tomcat实例,并更新web模块内容
Servlet技术
  1. Servlet是javaEE规范之一,规范就是接口
  2. Servlet是javaWeb三大组件之一。三大组件分别是Servlet程序,Filter过滤器,Listener监听器
  3. Servlet是运行在服务器上的一个java小程序,它可以接收客户机发送来的请求,并响应数据给客户端手动实现Servlet程序
手动实现Servlet程序
  1. 编写一个类去实现Servlet接口
  2. 实现Service方法,处理请求,并响应数据
  3. 到web.xml中去配置Servlet程序的访问地址
HelloServletTest.java
public class HelloServletTest implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
    }
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
    /**
     * service方法是专门用来处理请求和响应的
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Hello Servlet 被访问了!");
    }
    @Override
    public String getServletInfo() {
        return null;
    }
    @Override
    public void destroy() {
    }
}
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标签给Tomcat配置Servlet程序-->
    <servlet>
        <!--  servlet-name标签servlet程序取得一个别名(一般是类名)-->
        <servlet-name>HelloServletTest</servlet-name>
        <!-- servlet-class是Servlet程序的全类名 -->
        <servlet-class>com.example._06servlet.HelloServletTest</servlet-class>
    </servlet>
    <!--  servlet-mapping标签给servlet程序配置访问地址-->
    <servlet-mapping>
        <!-- servlet-name标签的作用是告诉服务器,我当前配置的地址给哪个Servlet程序使用-->
        <servlet-name>HelloServletTest</servlet-name>
        <!-- url-pattern标签配置访问地址<br/>
                / 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径         <br/>
                / hello  表示地址为:http://ip:port/工程路径/hello           <br />
        -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

常见的错误:url—pattern中配置的路径没有以斜杠开头:错误信息:hello in servlet mapping

访问时在后面加上/hello,可以访问HelloServletTest文件

http://localhost:8080/test/hello
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧码文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值