X65535JavaWeb部分01

Tomcat基础入门1

/*
    Tomcat基础

    请求和响应
        request 客户端向服务端发送数据
        response 服务器向客户端发送数据

    静态资源和动态资源
        静态资源
            html,css,js代码,txt文本,jpg图片等
        动态资源
            jsp页面,Servlet程序,和后端/数据库交互的页面

    Tomcat安装和使用
        找到当前jdk对应的Tomcat版本
        直接解压就可以
        jdk1.8对应Tomcat8.0.50最好

    Tomcat文件解析
        bin 专门存放Tomcat可执行文件
        conf 专门存放Tomcat配置文件
        lib 专门存放jar包,就是一些实现类
        logs 存放Tomcat日志文件,默认为空
        temp 专门存放临时数据
        webapps 专门存放部署的Web工程,1个目录1个工程
        work 存放jsp转换为servlet的源码

    如何启动Tomcat
        第1种方法
        找到bin目录下的startup.bat文件
        双击就可以启动

        测试Tomcat是否启动成功
        http://localhost:8080
        会出现Tomcat欢迎页面
        前提是配置好JAVA_HOME环境变量

        第2种方法
        打开命令行
        地址定位到<tomcat>/bin目录下
        输入
        catalina run
        命令即可启动服务器
        可以看到错误原因

    Tomcat的停止
        1. 第1种方式:关闭Tomcat命令行
        2. 快捷键ctrl + c
        3. 找到Tomcat bin目录下的 shutdown.bat来停止Tomcat运行

    如何修改Tomcat端口号
        Tomcat默认端口号是8080
        出于某种情况8080端口号被占用
        需要修改端口号

        找到conf/server.xml
        打开
        往下走1点
        找到<Connector port=...
        port后面就是端口号
        可以自行修改
        可选范围是1 - 65535

        修改完端口号一定要重启Tomcat服务器
     */

Tomcat基础入门2

/*
    如何部署Web工程到Tomcat服务器中
        第1种方法:
        只要把Web工程的目录拷贝到webapps目录下即可
        或者说直接创建也行
        进入自己的工程需要在
        localhost:8080后面加上
        /<your project name>
        或者是
        /<your project name>/index.html
        没有访问路径默认访问的是ROOT工程的index.html页面

        第2种方法:
        找到<your home>\apache-tomcat-8.0.50\conf\Catalina\localhost目录
        创建xml文件
        里面添加如下内容
        <Context path="/web03" docBase="E:\IdeaProjects\JavaWeb\out\artifacts\web03_war_exploded" />
        其中path是访问路径,需要和xml文件名相同
        docBase是项目路径

        第3种方法:
        拖动html文件到浏览器
        也可以直接访问
        此时浏览器网址页显示
        file:///E:/book/index.html
        使用的是file协议
        file协议告诉浏览器直接读取file后面的路径
        解析展示到浏览器上即可

    如何将IDEA工具和Tomcat整合起来用
        找到Application Servers
        点击添加Tomcat Server
        然后配置Tomcat路径
        <your home>\apache-tomcat-8.0.50
        然后点击Apply即可

    如何创建动态的Web工程
        new1个新模块
        在创建的时候选择第2项
        Java Enterprise
        然后选上Web Server
        点击next
        点击finish
        web动态工程就创建出来了

        然后添加lib目录
            lib主要放第3方的jar包

        说明一下
        src存放自己编写的Java源码
        web目录专门存放web工程资源文件
            如html文件,css文件等
        WEB-INF目录是一个受服务器保护的目录
            浏览器无法直接访问到此目录的内容
        web.xml是一个web工程配置部署描述文件
            可以配置很多web工程的依赖
     */

Tomcat基础入门3

/*
	Tomcat添加第3方jar包
        将需要添加的jar包拷贝到lib目录下
        然后选中2个jar包
        直接Add as Library就可以用了

    如何创建分级包
        点击项目结构右上方的小齿轮
        取消勾选Compact Middle Packages即可
        建包时输入.就可以分级了

    如何去除依赖
        点击File -> Project Structure -> Module -> 勾选去除依赖
        lib里面的jar包就没有了

    添加第3方jar包的第2种方式
        点击File -> Project Structure -> library -> 选中需要加入的jar包
        然后进入artifacts -> fix -> add common... into library
        记住jar包虽然可以自由命名,但建议使用默认名称
        
    Web工程如何在Tomcat项目里面跑起来

    Tomcat开发小技巧
        Tomcat实例会在Web工程创建的时候自动创建
        需要改一个名字
        否则有多个工程会分不清
        点击下拉框 -> Edit configurations -> 之后就自己操作吧
        点击实例 -> 进入Deployment -> 在里面添加需要部署的工程
        Application context是工程路径
        进入Server -> URL显示的地址就是启动运行实例时默认打开的访问地址
        上方launch表示默认用什么浏览器访问

    Tomcat工程的启动
        绿色小三角表示正常启动
        红色方块表示停止实例
        启动后点击绿色弯曲箭头可以选择重启实例
        在Edit configurations里面修改地址,端口号或默认浏览器需要重启Tomcat实例

        修改热部署
        On frame deactivation -> update classes and resources
        不用重启
     */

Servlet基础1

/*
    什么是Servlet
        是JavaEE规范之一,规范就是接口
        JavaWeb3大组件之一,JavaWeb组件有Servlet程序,Filter过滤器,Listener监听器
        Servlet是运行在服务器的Java程序,可以接收客户端发来的请求,并相应数据给客户端

    手写实现Servlet程序
        1. 实现Servlet接口
        2. 实现service方法,处理请求并相应数据
        3. 到web.xml配置servlet程序的访问地址

    配置web.xml
        如下图所示
     */

在这里插入图片描述

通过实现Servlet接口处理get和post请求

package com.bilibili.Is;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

public class Is2 implements Servlet {
    public Is2() {
    }

    @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("visited");
        /*
        程序运行到此处
        需要针对get/post方法进行判断
        并进行分别处理
        但源码要求ServletRequest子类可以使用getMethod()方法
        需要强制类型转换
         */
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        String method = httpServletRequest.getMethod();

        if ("GET".equals(method)) {
            /*
            方法之间的调用不需要new对象
            非静态方法不能调用静态方法
             */
            doGet();
        }else {
            doPost();
        }
    }

    /**
     * 处理get请求的方法
     */
    public void doGet() {
        System.out.println("GET CODING");
    }

    /**
     * 处理post请求的方法
     */
    public void doPost() {
        System.out.println("POST CODING");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

通过继承HttpServlet类实现Servlet程序

package com.bilibili.Is;

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 Is3 extends HttpServlet {
    /*
    通过继承HttpServlet类实现Servlet程序
    开发中用的比较多
    1. 编写一个类继承HttpServlet类
    2. 根据业务需要重写doGet或doPost方法
    3. web.xml中配置访问地址
     */

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // super.doGet(req, resp);
        System.out.println("GET METHOD");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // super.doPost(req, resp);
        System.out.println("POST METHOD");
    }
}
	<servlet>
        <servlet-name>Is3</servlet-name>
        <servlet-class>com.idea.Is.Is3</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Is3</servlet-name>
        <url-pattern>/real</url-pattern>
    </servlet-mapping>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

muskfans

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

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

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

打赏作者

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

抵扣说明:

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

余额充值