Javaweb期末复习大纲

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的原理及使用过程。

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值