Web04TomCat

本文深入讲解Web开发的核心技术,包括HTTP协议详解、Tomcat服务器配置、Servlet生命周期及使用方法,并探讨Request与Response对象的应用,以及如何解决中文乱码等问题。

一:Web核心

1:介绍

 2:HTTP

1:简介

2:请求数据格式

3:;相应数据格式

3:Tomcat

1:安装转换成web项目的插件JBLJavaToWeb

2:简介

 2:基本使用

3:tomcat配置

4:web项目结构

5:将tomcat配置到idea中的两种方式

第一种方式:(学习时候使用)

 第二种方式:(工作时常用)

1:写入插件坐标

<build>
    <plugins>

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8080</port>                     <!-- 启动端口 Default:8080 -->
                <path>/</path>   <!-- 虚拟路径  Default: /${project.artifactId}-->
                <uriEncoding>UTF-8</uriEncoding>      <!-- 将tomcat8的特性引入进来,解决get请求乱码问题 -->
            </configuration>
        </plugin>
    </plugins>
</build>

2:运行tomcat

6:配置Servlet代码模板

1:配置

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


@WebServlet( "/${Entity_Name}")
public class ${Class_Name} extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}

 2:使用方式

4:Servlet

1:简介

 2:快速入门

 3:执行流程

 4:生命周期

 

 5:方法介绍(不用)

6:体系结构

 

7:Servlet urlPattern配置(课程后续会用)

 8:xml配置方式编写Servlet(不使用了,使用注解的方式)

二:Request和Reponse

1:Request

1:简介

 2:Request继承体系

 3:获取请求数据--请求行

4:获取请求数据--请求头请求体

5:request通用方式获取请求参数

6:idea模板创建Servlet

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


@WebServlet( "/${Entity_Name}")
public class ${Class_Name} extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         //1. 解决乱码: POST getReader()
        //设置字符输入流的编码,设置的字符集要和页面保持一致
        request.setCharacterEncoding("UTF-8");

    }
}

7:请求参数中文乱码 post和get解决方案

1:post

  • 分析出现中文乱码的原因:

    • POST的请求参数是通过request的getReader()来获取流中的数据

    • TOMCAT在获取流的时候采用的编码是ISO-8859-1

    • ISO-8859-1编码是不支持中文的,所以会出现乱码

  • 解决方案:

    • 页面设置的编码格式为UTF-8

    • 把TOMCAT在获取流数据之前的编码设置为UTF-8

    • 通过request.setCharacterEncoding("UTF-8")设置编码,UTF-8也可以写成小写

@WebServlet("/Demo04")
public class ServletDemo04 extends HttpServlet {
    //重写父类分发的代码,不让他分发了.重写一个service足够了
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1. 解决乱码: POST getReader()
        //设置字符输入流的编码,设置的字符集要和页面保持一致
        request.setCharacterEncoding("UTF-8");
       //2. 获取username
       String username = request.getParameter("username");
       System.out.println(username)
    }
}

2:get

解决方案:

在tomcat的坐标中加入 将tomcat8的特性引入进来,解决get请求乱码问题

<uriEncoding>UTF-8</uriEncoding> 

8:请求转发

2:reponse

1:设置相应数据功能介绍

 2:重定向

3:资源路径问题

 

 4:reponse响应字符数据

 

 5:reponse响应字节数据

 

6:登录案例

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值