Javaweb期末复习大纲

2023-05-16

20 21 /2022 学年第 1 学期考试复习纲要

题型:

一、单项选择题

二、多选题

三、判断题

、填空题

、简答题

六、补充程序

重点复习章节及知识点:

第3章重点记忆归纳:(题目分布:简答、程序)

  1. 深刻理解servlet程序的含义、生存周期、部署及调用。
    1. Servlet是使用java语言编写的运行在服务器端的程序。
    2. 狭义的servlet是指java语言实现的一个接口
    3. 广义的servle是指任何实现了这个servlet接口的类。
    4. Servlet主要用于处理客户端传来的http请求,并返回一个响应。它能够处理的请求有doGet() / doPost() 等方法。

 

Servlet容器 特指Tomcat

    1. Servlet的请求首先会被http服务器(如Apache)接收,http服务器只负责静态HTML页面的解析,对于servlet的请求转交给servle容器,根据web.xml文件中的映射关系,调用相应的servlet,servlet将处理的结果返回给servlet容器,并通过http服务器将响应传输给客户。
    2. Servlet的特点
      • 方便:servlet提供大量实用工具。(处理HTML表单数据、读取和设置http头,处理cookie和跟踪会话等)
      • 跨平台:servlet用java类编写,在不同操作系统平台和应用服务平台下运行。
      • 灵活性和可扩展性:可继承
      • 功能强大:可各个程序间共享数据
      • 安全性强
    3. Servlet接口及其实现类
      • SUN公司提供了一系列的接口和种类
      • 最重要的接口是:javax.servlet.Servlet(使用时需导入)
      • Servlet接口的抽象方法

Void init(ServletConfig config)

容器在创建好Servlet对象后,就会调用此方法。接受一个servletconfig类型参数对象,容器通过这个参数向servlet传递初始化配置信息。

ServletConfig getServletConfig()

获取servlet对象的配置信息,返servlet的servletconfig对象。包含servlet初始化信息。

Void service(servletRequest request,ServletResponse res)

负责响应用户的请求。Request res对象传递给service方法。在service方法中通过servletrequest对象得到请求信息,处理请求信息后,调用response对象的方法设置响应信息。

Void destory()

负责释放servlet对象占用的资源。放服务器关闭/servlet对象被移除时,servlet对象会被销毁,容器会调用此方法。

String getServletInfo()

返回servlet相关的信息。

注意:表中提及的servlet容器是指web服务器

  1. 针对servlet接口,Sun公司提供两个默认的接口实现类
    • GenericServlet 抽象类,没有实现http请求处理。
    • HttpServlet (子类)继承了所有方法,POST/GET。编写的servlet类都继承httpservlet。
    • Httpservlet类的常用方法

Protected void doGet(HttpServlet req,HttpServletResponse resp)

处理GET类型的http请求方法

Protected void doPost(HttpServletRequest req,HttpServletResponse resp)

处理POST类型的http请求方法

doPut

  1. 创建servlet的3种方法
    • 直接实现servlet接口
    • 继承GenericServlet类
    • 继承HTTPServlet类
  2. 实现第一个servlet程序
    • 创建servlet文件
    • 编译servlet文件
    • 查找servlet的JAR包
    • 导入JAR包
    • 重新编译。.java---->.class
    • Class文件添加到服务器
    • 创建web.xml文件
  3. Servlet的生命周期
    • 初始化阶段、运行阶段、销毁阶段

     

2、<!-- 配置Servlet -->

<servlet>

        <servlet-name>xxx</servlet-name>

        <servlet-class>xxx.xxx.xxx</servlet-class>

</servlet>

<!-- 配置Servlet映射路径 -->

<servlet-mapping>

        <servlet-name>xxx</servlet-name>

        <url-pattern>/xxx</url-pattern>

</servlet-mapping>

3、在程序中的部署和使用。

第4章重点记忆归纳:(题目分布:填空、选择、简答)

1、深刻理解9大内置对象的含义,以及重点对象的方法及存储范围

2、Request

Request.setCharacterEncoding=“UTF-8”;

String request.getParameter(String name);

String[] request.getParameterValue(String name);

RequestDispatcher request.getRequestDispatcher(String path);

request.getRequestDispatcher.forward(request,response);

Public void setAttribute(string name,object );

Public object getAttribute(string name);

Public void removeAttribute(string name);

3、response

response.setHeader("refresh","2");

response.setHeader("refresh","3;URL=hello.jsp") ;

response.sendRedirect(String location) ;

response.addCookie(Coolie cookie) ;

第5章重点记忆归纳:(题目分布:填空、选择、简答)

1、深刻理解cookie和session的关系。

2、cookie

Public Cookie(string name,string value)

Public string getName()

Public string getValue()

Public void setMaxAge(int expiry)

Public void addCookie(Cookie cookie)

Public Cookie[] getCookies()

3、session

public String getId()

public boolean isNew()

public void setMaxInactiveInterval(int interval)

public int getMaxInactiveInterval()

public long getCreationTime()

public long getLastAccessedTime()

public void setAttribute(String name, Object value) 

public Object getAttribute(String name)

public void removeAttribute(String name)

public void invalidate()

第6章重点记忆归纳:(题目分布:填空、选择)

1、JSP基本结构:java程序段、声明、输出表达式

<% java程序段  %>

<%! 声明  %>

<%= %>相当于out.print()

out.println()和out.print()效果是一样的。如果要换行</br>

2、JSP注释:<!-- HTML注释 -->、//java语句注释、/* java程序段注释...*/、<%--  jsp注释  --%>

3、文档UTF-8设置

打开Eclisps软件时整体设置--属性;

项目属性设置;

request.setCharacterEncoding="UTF-8";;

response.setCharacterEncoding="UTF-8";

4、重点JSP指令:

<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>

<%@ page errorPage="..." iserrorPage="true" %>

<%@ page import="..." %>

<%@ include file="..." %>

动作指令:

<jsp:include page="..." flush="true"/>

<jsp:include page="..." flush="true">

<jsp:param name="..." value="...">

</jsp:include>

<jsp:forward page="...">

<jsp:param name="..." value="..." />

<jsp:forward>

跳转方式:

<a href="...?param=...¶m1=...&...">

重定向:(两次请求,地址栏看的到变化,数据丢失)

response.sendRedirect("相对路径");

请求转发:(一次请求,地址栏看不到改变,数据不丢失,可以getParameter数据,也可以getAttribute数据)

request.getRequestDispatcher("相对路径").forward(request,response);

第7章重点记忆归纳:(题目分布:填空、选择)

  1. JavaBean技术概念和使用。
  2. EL表达式以及JSTL标签库的基本使用。

第8章重点记忆归纳:(题目分布:简答、程序)

  1. 理解概念、原理,掌握配置。
  2. 过滤器处理过程:对请求、响应进行过滤;对数据放行。

3、Filter过滤器就是一个实现了javax.servlet.Filter接口的类:

实现三个核心方法:init()、destroy()、doFilter();

其中init()、destroy()原理、执行时机同Servlet一样;

过滤器为了实现过滤谁,需要配置拦截谁,过程类似servlet;

拦截路径或通配符拦截;

过滤器链:可以配置多个过滤器,过滤器的先后顺序是由<filter-mapping>的位置决定。

dispatcher请求方式:

request:拦截HTTP请求 get post;

forward:只拦截通过请求转发方式的请求;

通过doFilter()处理拦截,并且通过chain.doFilter(request,response)放行;

4、在程序中的部署和使用,网站统一字符编码过滤器的使用。

第9章重点记忆归纳:(题目分布:简答、程序)

1.理解JDBC存在的意义、概念、原理。

JDBC(Java DataBase Connectivity )为关系型数据库提供统一的数据操作方式。

2.JDBC API主要功能:通过以下类/接口实现

DriverManager:管理jdbc驱动

Connection:连接(通过DriverManager产生)

Statement(PreparedStatement):增删改查(通过Connection产生)

CallableStatement:调用数据库中的存储过程/存储函数(通过Connection产生)

Result:返回的结果集(Statement,PreparedStatement产生)

3.jdbc访问数据库的具体步骤:

a.导入驱动,加载具体的驱动类

b.与数据库建立连接

c.发送sql,执行

d.处理结果集(查询)

e.关闭

4.推荐使用PreparedStatement:原因如下:

1、编码简便,不易写错

String name="ls";

String password="1234";

stmt:

String sql="insert into user(name,password)values('"+name+"','"+password+"')";

stmt.executeUpdate(sq1);

pstmt:

String sql="insert into user(name,password) values(?,?)";

pstmt=connection.prepareStatement(sq1);//预编译SQL

pstmt.setString(1,name);

pstmt.setString(2,password);

2、性能高,预编译速度快。

3、有效防止SQL注入漏洞。

stmt:存在被sq1注入的风险

(例如: 输入用户名:任意值’or 2=2--    密码:任意值)

select count(*)from user where name='"+name+"' and password='"+password+"';

select count(*)from user where name='ls'and password='*****’;

select count(*)from user where name='任意值’or 2=2--'and password='任意值’;

select count(*)from user where name='任意值’or 2=2;

select count(*)from user;

pstmt:有效防止sql注入

第11章重点记忆归纳:(题目分布:程序)

  1. 重点JSP Model1和JSP Model2的原理及使用过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javaweb期末复习大纲 的相关文章

  • Filter(过滤器)常见应用

    javaweb学习总结 四十六 Filter 过滤器 常见应用 一 统一全站字符编码 通过配置参数charset指明使用何种字符编码 以处理Html Form请求参数的中文问题 1 package me gacl web filter 2
  • 在Vue下如何用js代码将13位的时间戳数据转换成正常显示的时间?

    问题描述 在使用Vue时 如果页面没有渲染完成 通过js代码是拿不到页面上数据的 而我们又想通过js操作数据时 就需要通过一些特别的方法 网上有各种方法 但是大部分都解释的比较模糊 这是我的一些小总结 由于不是专门玩前端的 但是又不想用vu
  • [羊城杯 2020]A Piece Of Java

    羊城杯 2020 A Piece Of Java 文章目录 羊城杯 2020 A Piece Of Java 源码分析 从后往前测试 逐步写exp 构造DatabaseInfo类对象 InfoInvocationHandler 动态代理 序
  • JavaWeb案例:实现注册和登录功能

    业务需求分析 在实际开发中 通常会有专门的人去跟客户进行沟通从而了解客户需要什么样的系统 之后由专业的美工将要做的系统以图片的形式表现出来 客户确认后作出一些静态的html demo页面 然后由软件开发人员创建相关数据库 编写代码将该静态页
  • 【html】【一个简单的用户登录页面代码】

    结果 代码
  • servlet传json数据给前端

    重点 1 json数据的发送 后 2 json数据的提取 前 例如 servlet返回从session提取的当前用户信息给前端使用 1 前端不带数据发送axios给后端请求数据 用get axios method get url http
  • 【JavaWeb】Thymeleaf的简介与使用

    Thmeleaf MVC 为什么需要MVC 我们之前在书城项目第二阶段做登录的时候 曾经提出过优化登录失败后的处理 虽然说可以实现在登录失败之后跳转回到登录页面 并且展示失败信息 但是代码实在是太恶心了 根本没法维护 所以我们需要将视图展示
  • JDBC讲解

    SUN公司于1996年提供了一套访问数据库的标准Java类库 即JDBC 一 什么是JDBC JDBC的全称是Java数据库连接 Java Database Connectivity 它是一套用于执行SQL语句的Java API 应用程序可
  • Idea中Springboot开启热部署方法

    Springboot1 3后支持热部署 具体方法如下 1 增加依赖
  • 前端三剑客---HTML&CSS&JavaScript

    HTML CSS JavaScript 1 HTML 1 1 介绍 1 2 快速入门 1 3 基础标签 1 3 1 标题标签 1 3 2 hr标签 1 3 3 字体标签 1 3 4 换行标签 1 3 5 段落标签 1 3 6 加粗 斜体 下
  • 通俗易懂权限管理模块设计-Java

    最近一直在做CMS系统 发现一些内容其实都是重复出现的 例如权限管理模块 权限管理模块就是为了管理用户是否有权利访问某个权限 如果不能则拒绝访问 其实Java中已经有很成熟的权限管理框架 例如 Shiro Spring Security等
  • IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

    自动代码 常用的有fori sout psvm Tab即可生成循环 System out main方法等boilerplate样板代码 例如要输入for User user users 只需输入user for Tab 再比如 要输入Dat
  • Tomcat——IDEA & Eclipse部署Web项目

    目录 IDEA部署Web项目 IDEA配置Tomcat 部署web项目 IDEA与tomcat的相关配置 Eclipse部署Web项目 Eclipse配置Tomcat 部署web项目 IDEA部署Web项目 跳转到目录 一 IDEA配置To
  • Servlet接口实现类

    JavaWeb 03 Servlet 02 Servlet接口实现类 1 什么是Servlet接口 有什么用 Servlet接口来自于Servlet规范中的一个接口 这个接口存在于Http服务器所提供的jar包中 Servlet接口的具体位
  • JavaWeb —— AJAX

    目录 AJAX 基本介绍 A synchronous JavaScript And XML 多用在 1浏览器搜索联想 2用户注册中离开光标 校验数据的正确性 同步和异步的区别 AJAX快速入门 AJAX 基本介绍 A synchronous
  • 【EasyExcel】 模板填充批量导出,多文件以zip压缩包格式导出

    使用 阿里巴巴的 EasyExcel 填充 excel模板导出 需要支持批量操作 即一个模板循环导出多份 在网上找了下其他大佬们的做法 没有找到想要的 很多都是要先生成excel文件 再压缩导出 但我不想这样做 想直接通过文件流的方式 直接
  • form表单中使用fileUpLoad上传文件

    在最近的项目中 需要对用户的头像就行上传 这里了解到使用appche的 大家可自行到mvn库搜索jar包名进行下载 这里需要注意的是代码中对参数的读取 正常情况下我么使用getparameter方法进行读取表单数据 但是因为在form中我们
  • 【封装】实体类(entity)

    实体类entity 一 ORM 1 1 ORM 实体类 entity 零散数据的载体 1 1 1 ORM应用 一 ORM ORM Object Relational Mapping 从数据库查询到的结果集 ResultSet 在进行遍历时
  • 域名解析ip地址的过程

    浏览器会把输入的域名解析成对应的IP 其过程如下 1 查找浏览器缓存 因为浏览器一般会缓存DNS记录一段时间 不同浏览器的时间可能不一样 一般2 30分钟不等 浏览器去查找这些缓存 如果有缓存 直接返回IP 否则下一步 2 查找系统缓存 浏
  • IDEA2021从零开始搭建SSM框架手把手详细教程 (一)

    开发环境 macos IDEA 2021 mysql8 0 toma9 0 源码 https download csdn net download a2267542848 19730797 1 基本环境搭建 1 新建工程 新建后整个目录如下

随机推荐

  • css基础

    CSS基础 CSS的作用CSS的语法CSS的引用内部样式表外部样式颜色 xff0c 尺寸 xff0c 对齐盒子模型边框与边距定位溢出浮动透明度 CSS学习总结 CSS的作用 在我们写的html页面中 xff0c 所有的内容只能通过添加标记来
  • adaboost和朴素贝叶斯算法简述

    adaboost和朴素贝叶斯算法简述 adaboost原理基本步骤基本应用 朴素贝叶斯算法原理基本步骤基本应用 adaboost原理 前一个基本分类器分错的样本会得到加强 xff0c 加权后的全体样本再次被用来训练下一个基本分类器 同时 x
  • MDB基础

    MDB基础学习 页面结构页面导航条页面主题布局页面主体页面底部总结 页面结构 MDB 模板 在 code 中打开 index html文件你可看到常见的 HTML 文档结构 xff0c MDB 需要的 CSS 和 JS 文件 xff0c 我
  • 基于数电的交通灯控制器

    一 任务与要求 由一条主干道和一条支干道的汇合点形成十字交叉路口 xff0c 为确保车辆安全 迅速地通行 xff0c 在交叉路口的每个人口处设置了红 绿 黄三色信号灯 xff08 1 xff09 用红 绿 黄三色发光二极管作信号灯 xff0
  • STM32学习心得(第一天)

    作为一名刚接触STM32的初学者 xff0c 今天通过观看网站上的视频 xff0c 对STM32有了最基础的了解 xff0c 并学到了一些STM32的学习方法 xff0c 自我感觉收获不错 一 学习方法 1 两个学习网址 xff1a 开源电
  • STM32学习心得(第二天)

    我感觉今天的学习状态还是可以的 xff0c 进行了开发环境的搭载和怎样构建一个新项目 基于固件库 xff0c 学到了较多的新知识 xff0c 同时了解了STM32的启动模式 xff0c 程序下载的两种方法 xff08 1 ISP串口下载2
  • STM32学习心得(第三天)

    今天的状态还可以 xff0c 学习了新建工程模板 xff08 基于寄存器 xff09 和了解了GPIO工作原理 xff0c 昨天基于库函数新建工程模板学习的并不牢固 xff0c 今天还是无法自己创建出来 xff0c 正好借此机会再巩固一下
  • Ubuntu 快速更换阿里源

    简介 xff1a 本文主要给大家讲解如何为Ubuntu更换阿里源 xff0c 通过以下四个步骤即可快速实现换源 镜像下载 域名解析 时间同步请点击 阿里巴巴开源镜像站 一 查看ubuntu的Codename lsb release a gr
  • 【工作遇到的问题——已解决】pip3 install numpy失败

    问题描述 需求 xff1a 求出列表中90 的响应时间 xff1a import numpy as np span class token keyword for span i in finalvalues span class token
  • 7、CAS

    目录 1 CAS是什么 1 1 CAS基本知识 1 2 CAS基本思想 2 对原子类中使用的CAS进行分析 2 1 CAS demo 代码 2 2 源码分析 3 原子类 3 1 有那些属性 用AtomicInteger分析 3 2 Unsa
  • ubuntu设置网络代理在内网中使用 apt代理、docker代理

    ubuntu设置apt 代理 编辑apt 配置文件 span class token function sudo span span class token function vim span etc apt apt conf 添加以下内容
  • 通过VNC远程连接ubuntu桌面(多种客户端连接方式)

    背景 有些时候一些设备不带显示器和键盘鼠标 xff0c 我们来维护他 xff0c 是通过ssh远程连接进行操作 但可能有些维护需要有图形显示来操作 xff0c 这时候再用ssh就不是很合适了 我所遇的设备情况是 xff0c 经常要自己接入显
  • 选择悖论:开源网络操作系统(NOS)重启指南

    我们拥有的选择越多 xff0c 就越不满足 然而 xff0c 只有手握选择权 xff0c 才能在决策之时享受自由和自主 这就是众所周知的选择悖论 当你打算从亨氏旗下的57种薯片 xff08 我的美国朋友们把它叫做chips xff09 中挑
  • Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

    一 摘要 自下而上的机制 基于 Faster R CNN xff1a 提取出图像区域 xff0c 每个区域都有一个相关的特征向量 自上而下的机制 xff1a 确定特征权重 提出了一种自下而上和自上而下的结合注意力机制 xff0c 使注意力能
  • 在keras环境下将numpy数据形式转换为tensor

    目录 前期尝试试错最终的解决方法 前期尝试 因为刚刚开始学习 xff0c 想要记录一下自己学习的全过程 xff0c 所以想知道具体方法的可以直接在目录跳到最后 xff1a 最终的解决方法 最近开始接触神经网络的学习 xff0c 在看过一个比
  • SSH测试远程服务器端口的连通性

    ssh是linux的标准配置并且最常用 xff0c 可以用来判断端口是否打开 用法 ssh v p port username 64 ip v 详细模式 会打印日志 xff0c 显示登录的细节 p 指定端口 username 可以随意 ip
  • hadoop单表关联

    1 单表关联 实例描述 实例中给出child parent xff08 孩子 父母 xff09 表 xff0c 要求输出grandchild grandparent xff08 孙子 爷奶 xff09 表 样例输入 如下所示 file xf
  • 调试带有源码的dll

    环境 windows 7 Visual Studio 2010 将dll项目debug目录下的 dll lib pdb文件拷贝到exe项目程序的debug目录下 xff08 是exe所在的文件夹 xff09 在调用dll里面的函数前面增加断
  • 遍地开花的 Attention ,你真的懂吗?

    阿里妹导读 xff1a 曾被 paper 中各种各样的 Attentioin 搞得晕晕乎乎 xff0c 尽管零零散散地整理过一些关于Attention 的笔记 xff0c 重点和线索依然比较凌乱 今天 xff0c 阿里巴巴工程师楠易 xff
  • Javaweb期末复习大纲

    20 21 2022 学年第 1 学期考试复习纲要 题型 xff1a 一 单项选择题 二 多选题 三 判断题 四 填空题 五 简答题 六 补充程序 重点复习章节及知识点 xff1a 第3章重点记忆归纳 xff1a xff08 题目分布 xf