20 21 /2022 学年第 1 学期考试复习纲要
题型:
一、单项选择题
二、多选题
三、判断题
四、填空题
五、简答题
六、补充程序
重点复习章节及知识点:
第3章重点记忆归纳:(题目分布:简答、程序)
Servlet容器 特指Tomcat
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服务器。
Protected void doGet(HttpServlet req,HttpServletResponse resp) |
处理GET类型的http请求方法 |
Protected void doPost(HttpServletRequest req,HttpServletResponse resp) |
处理POST类型的http请求方法 |
doPut |
2、
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()效果是一样的。如果要换行
2、JSP注释:、//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="..." %>
动作指令:
跳转方式:
重定向:(两次请求,地址栏看的到变化,数据丢失)
response.sendRedirect("相对路径");
请求转发:(一次请求,地址栏看不到改变,数据不丢失,可以getParameter数据,也可以getAttribute数据)
request.getRequestDispatcher("相对路径").forward(request,response);
第7章重点记忆归纳:(题目分布:填空、选择)
第8章重点记忆归纳:(题目分布:简答、程序)
3、Filter过滤器就是一个实现了javax.servlet.Filter接口的类:
实现三个核心方法:init()、destroy()、doFilter();
其中init()、destroy()原理、执行时机同Servlet一样;
过滤器为了实现过滤谁,需要配置拦截谁,过程类似servlet;
拦截路径或通配符拦截;
过滤器链:可以配置多个过滤器,过滤器的先后顺序是由
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章重点记忆归纳:(题目分布:程序)