Java web

8 篇文章 0 订阅
4 篇文章 0 订阅

Java web

目录

环境

下载tomcat

在这里插入图片描述
下载 8.5.7和9都可以

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装与卸载 tomcat

注意路径中不可以有中文
在这里插入图片描述
在这里插入图片描述

运行

在这里插入图片描述

第一步

在这里插入图片描述
在这里插入图片描述
注意 JAVA_HOME 一定要大写
在这里插入图片描述

就好了

第二步

在这里插入图片描述

后台开着黑窗 再
输入这个 http://127.0.0.1:8080/ 就说明好了
在这里插入图片描述

放自己的网页

在这里插入图片描述
在这里插入图片描述
这样就可以了

在这里插入图片描述

动态网页

什么是B\S架构

在这里插入图片描述

为什么要使用B\S架构

在这里插入图片描述

B\S架构工作原理

在这里插入图片描述

URL

在这里插入图片描述

HTTP 协议

在这里插入图片描述

HTTP 状态码

在这里插入图片描述

动态网页

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资源分类

在这里插入图片描述
在这里插入图片描述

网络通信三要素

在这里插入图片描述

关于web服务器

在这里插入图片描述
下载 tomcar 见上

tamcat

tamcat 目录结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

启动tomcat

如果 黑窗一闪而过 见上面讲解
在这里插入图片描述

进程

进程一览

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

关闭

方式一
可以暴力关闭

方式二
Ctrl + C
有序关闭
在这里插入图片描述

项目部署

在这里插入图片描述

部署方式 简化版本

在这里插入图片描述

tomcar 集成 idea

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现下面这个就算成功了
步骤一

在这里插入图片描述
步骤二

在这里插入图片描述

创建 javaweb 项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
显示这个就说明,没有识别到,要重启软件

在这里插入图片描述
这样就完成了

在这里插入图片描述

2020 1月版本 idea

注意如果是 2020 1月的版本 操作如下

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点开始
在这里插入图片描述
出现这个就好了

在这里插入图片描述

注意
出现下面这个
在这里插入图片描述
要关闭端口,即可解决

JSP 核心内置对象

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
最后呈现效果
在这里插入图片描述
可以实现跳转页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSP 内置对象

在这里插入图片描述
在这里插入图片描述

servlet

认识 servlet

在这里插入图片描述

创建一个 servlet

在这里插入图片描述
2020.1版本
在这里插入图片描述
2020.3 版本
在这里插入图片描述

配置对应关系

在这里插入图片描述

2020.1 版本
在这里插入图片描述
配置写法

在这里插入图片描述
注意 网页里什么都没有

在这里插入图片描述
但控制台里有 inti… service…
在这里插入图片描述

init 初始化方法

在这里插入图片描述
在这里插入图片描述

destroy 结束方法

在这里插入图片描述

注意

在这里插入图片描述

访问servlet

在这里插入图片描述

servlet 执行原理

在这里插入图片描述
在这里插入图片描述

servlet 3 简单配置方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

servlet 存在问题

在这里插入图片描述
在这里插入图片描述

更好用的类 HttpServlet

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

路径方面

修改虚拟路径

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

路径定义规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

网络请求与响应

在这里插入图片描述

HTTP 协议

在这里插入图片描述

请求消息数据格式

在这里插入图片描述

对比

在这里插入图片描述

get 与 post

在这里插入图片描述

常见的请求头

在这里插入图片描述

在这里插入图片描述

request 体系结构

在这里插入图片描述

package myServlet;

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("/*")
public class list extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("404");

        String remoteAddr = req.getRemoteAddr();
        System.out.println(remoteAddr);

        String requestURI = req.getRequestURI();
        System.out.println(requestURI);

        String contextPath = req.getContextPath();
        System.out.println(contextPath);

        String queryString = req.getQueryString();
        System.out.println(queryString);
    }


}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

request 对象获取请求头数据

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

演示

在这里插入图片描述

request 对象获取流对象

在这里插入图片描述
在这里插入图片描述

获取请求参数

在这里插入图片描述

在这里插入图片描述

拿参数对应的值

在这里插入图片描述

获取多个值

在这里插入图片描述
在这里插入图片描述

中文乱码问题

在这里插入图片描述

演练 用户登录

在这里插入图片描述

在这里插入图片描述

演示

request 对象的其他方法

在这里插入图片描述

请求转发

在这里插入图片描述
在这里插入图片描述

演练

获取用户输入并传数据

在这里插入图片描述
在这里插入图片描述

获取数据并欢迎

在这里插入图片描述

错误示例

在这里插入图片描述
在这里插入图片描述

可以看到发了一次请求
在这里插入图片描述

正确示例

在这里插入图片描述

在这里插入图片描述

request 作用域

在这里插入图片描述

响应

在这里插入图片描述

响应字符串

在这里插入图片描述

响应的组成

在这里插入图片描述

响应行的组成

在这里插入图片描述

响应状态吗

在这里插入图片描述

常见响应头

在这里插入图片描述

响应体

在这里插入图片描述

HTTP响应协议的组成内容

在这里插入图片描述

response对象

在这里插入图片描述

演示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

package myServlet;

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;
import java.io.PrintWriter;

@WebServlet("/index")
public class index extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("欢迎访问");

        //
        PrintWriter writer = resp.getWriter();
        writer.write("<h1>welcome</h1>");
    }
}

重定向的的操作

在这里插入图片描述

在这里插入图片描述

演示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

重定向的特点

在这里插入图片描述

路径的分类与写法

在这里插入图片描述
相对路径不带/ , 绝对路径加/ 而且必须加上 虚拟目录
这样写也可以进行跳转

在这里插入图片描述
在这里插入图片描述

绝对路径写法

在这里插入图片描述
在这里插入图片描述

动态获得虚拟目录

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

把响应内容数据变成 utf-8 数据

在这里插入图片描述
在这里插入图片描述

另一种写法

在这里插入图片描述

Servlet 对象

在这里插入图片描述

获取ServletContext对象

在这里插入图片描述

演示

在这里插入图片描述
另一个 servlet
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

获取文件真实路径

在这里插入图片描述

getRealPath 获取的是编译后文件

在这里插入图片描述

获取图片

在这里插入图片描述

编译后文件,应该放在这里面,不然不可以进行访问

在这里插入图片描述

在这里插入图片描述

cookie 回话技术

登录

解决登录大量用户长时间登录

在这里插入图片描述

用法

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

示例

在这里插入图片描述

在这里插入图片描述

新建一个布尔值的is_login 让他默认等于false

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

cookie 的生命

在这里插入图片描述

常见问题

在这里插入图片描述

在这里插入图片描述

代码

在这里插入图片描述

进行访问网页
在这里插入图片描述

过一会后
在这里插入图片描述

cookie 是否支持中文

在这里插入图片描述

cookie 数据是否共享

在这里插入图片描述

案例 欢迎网页

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

项目

青迅项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

页面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

JSP

JSP 基础

为什么要用 JSP

在这里插入图片描述

JSP 的本质就是servlet

在这里插入图片描述

JSP 脚本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSP 内置对象

在这里插入图片描述

out 对象

主要方法

使用out 对象可以输出

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
sout 显示在控制台里的
out 是显示在网页里的

ut

在这里插入图片描述

在这里插入图片描述

session 对象

基本用法

获取session 对象

在这里插入图片描述

取值

在这里插入图片描述

设置值

在这里插入图片描述

原理

session 依赖cookie的

在这里插入图片描述

细节

客服端关闭 服务端不关 两次 session 是同一个么

在这里插入图片描述

session 生命周期

在这里插入图片描述
在这里插入图片描述

案例

登录

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完成重定向

在这里插入图片描述

上面是获取 cookies 数组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

JSP

JSP 头部格式

在这里插入图片描述

在这里插入图片描述

例子

在这里插入图片描述

page

常见指令

在这里插入图片描述

例子

在这里插入图片描述

page指令

在这里插入图片描述

演示

在这里插入图片描述
在这里插入图片描述
出错跳转到 error.jsp 这个网页

人为制造错误
在这里插入图片描述

error.jsp
页面编写

在这里插入图片描述

errorPage 页面

设置后可以获得报错信息

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

include

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

taglib 指令

导入标签库资源

在这里插入图片描述

el 表达式

在这里插入图片描述

体验

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

运算符

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置扩展

在这里插入图片描述

比较运算符

在这里插入图片描述

空运算符

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

逻辑运算符

在这里插入图片描述

在这里插入图片描述

获取域的值

在这里插入图片描述

在这里插入图片描述

session

在这里插入图片描述

在这里插入图片描述

request

在这里插入图片描述
在这里插入图片描述

servletContext
记得要先 new servletContext

在这里插入图片描述

在这里插入图片描述

page

当前页面 生效

pageScope.name

可以不写作用率,自己写值,按最小的来拿

在这里插入图片描述

在这里插入图片描述

获取域中对象

在这里插入图片描述

演示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

获取域中的集合

在这里插入图片描述

演示

记得新建集合
在这里插入图片描述

el 表达式来拿

在这里插入图片描述
在这里插入图片描述

jsp 来拿

在这里插入图片描述

java工具 jstl and standard 的使用

环境的准备

一定要放在web 里面

在这里插入图片描述

在这里插入图片描述

使用记得导入

在这里插入图片描述

在这里插入图片描述

if 的用法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

更多表达式

1

在这里插入图片描述

在这里插入图片描述

2

在这里插入图片描述

在这里插入图片描述

3

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

choose 用法

在这里插入图片描述

演示

在这里插入图片描述

注意这里的day 是objs 的类型的 ,但这里可以与int 类型做加减法,是因为见下图

在这里插入图片描述

forEach 遍历

在这里插入图片描述

在这里插入图片描述

示例

在这里插入图片描述

<%--输出十行--%>
<c:forEach begin="1" end="10" var="num" step="3" varStatus="status">
    <p>当前的数据是${num},状态对象的序号${status.index},状态对象的编号是${status.count}</p>
</c:forEach>

在这里插入图片描述

遍历对象集合

在这里插入图片描述

示例 输出学生信息

新建小明类

package bean;

public class Student {
    // 声明变量
    private String name;
    private int age;


    // 字符串显示形态


    @Override
    public String toString() {
        return "student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    // 提供构造方法
    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 提供共有方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

jsp 页面

<%@ page import="java.util.Date" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="bean.Student" %><%--
  Created by IntelliJ IDEA.
  User: SSOA
  Date: 2022/5/2
  Time: 8:34
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>$Title$</title>
</head>
<body>
$END$

<c:if test="true">
    <h1>你好</h1>
</c:if>

<c:if test="false">
    <h1>你好</h1>
</c:if>


<%

    Date date = new Date();
    int day = date.getDay();
    pageContext.setAttribute("day", day);
%>

<h1>
    今天星期
    <span style="color: red">
    <c:choose>
        <c:when test="${day == 0}">星期天</c:when>
        <c:when test="${day == 1}">星期一</c:when>
        <c:when test="${day == 2}">星期二</c:when>
        <c:when test="${day == 3}">星期三</c:when>
        <c:when test="${day == 4}">星期四</c:when>
        <c:when test="${day == 5}">星期五</c:when>
        <c:when test="${day == 6}">星期六</c:when>
        <c:otherwise>数据获取异常</c:otherwise>
    </c:choose>
  </span>
</h1>

<h2>
    明天星期
    <span style="color: aqua">
      <c:if test="${day+1 == 1}">星期一</c:if>
      <c:if test="${day+1 == 2}">星期二</c:if>
  </span>
</h2>

<%--输出十行--%>
<c:forEach begin="1" end="10" var="num" step="3" varStatus="status">
    <p>当前的数据是${num},状态对象的序号${status.index},状态对象的编号是${status.count}</p>
</c:forEach>




<%--准备数据--%>
<%
    // 来一个有序集合
    ArrayList<Student> students = new ArrayList<Student>();
    // 实例化学生对象
    Student zs = new Student("张三", 16);
    Student ls = new Student("李四", 20);
    Student wa = new Student("王五", 14);

    students.add(zs);
    students.add(ls);
    students.add(wa);


    pageContext.setAttribute("studentList",students);
%>




<table width="600" border="1"  cellpadding="0" cellspacing="0">
    <caption><h1 >学生信息表</h1></caption>
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    <c:forEach items="${studentList}" var="stu" varStatus="status">
        <tr align="center"
            <c:if test="${status.count%2==1}">
                style="background-color: aqua"
            </c:if>
        >
            <td>${status.count}</td>
            <td>${stu.name}</td>
            <td>${stu.age}</td>
        </tr>
    </c:forEach>

</table>

</body>
</html>

在这里插入图片描述

三层架构

在这里插入图片描述

三层模型

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三层关系

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SSOA6

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

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

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

打赏作者

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

抵扣说明:

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

余额充值