美文网首页
考试重点但不囊括所有考点

考试重点但不囊括所有考点

作者: zju_dream | 来源:发表于2019-01-05 14:16 被阅读0次

    2019.1.10 更新完结 😀

    考试题型:

    • 单选题 15题,30分(期中考试出现过)
    • 简答复习笔记题 25分(考哪些概念)
    • 程序分析题 25分 较难(填空或者回答问题,比如程序执行之后会有什么效果)
    • 编程题 1题 20分

    重点

    第一章

    11-12页客户端动态web文档有哪些概念区别,实现的哪些技术架构
    html常用的元素会写

    以下演示如何编写表格

    <table>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
    </table>
    

    效果:

    1 2
    3 4

    css,javascript


    课后习题整理

    • (选择题)Servlet必须在什么环境下运行?

      • 操作系统
      • Java虚拟机
      • Web容器(✔)
      • Web服务器
    • (简答题)什么是URL,什么是URI,它们都由哪几部分组成?URL与URI有什么关系?

      • 应该不考
    • (简答题)动态Web文档技术有哪些?服务器端动态文档技术和客户端动态文档技术有何不同?

      • 动态Web文档技术

        • 服务器端动态文档技术
          • CGI: 公共网关接口
          • 服务器扩展
          • 在HTML页面嵌入脚本
        • 客户端动态文档技术
          • 使用Javascript结合DOM
      • 不同点

        • 服务器端动态文档技术的页面,代码是在服务器运行的。
        • 客户端动态文档技术的页面,代码是在客户端运行的。
    • (简答题)什么是Servlet?什么是Servlet容器?它的主要作用是什么?

      • Servlet是使用Servlet API开发的Java程序,它运行在Servlet容器中。
      • Servlet容器是运行Servlet的软件。
      • 它主要用来扩展Web服务器功能。
    • (简答题)什么是MVC设计模式, 它有什么优点?

      • 第四章会讲到

    第二章

    servlet的生命周期的过程2.2.1-2.2.4

    1. 加载和实例化
      • 对每个Servlet,容器将调用Class.forName()对其进行加载和实例化。
    2. 初始化Servlet init()
      • 在完成实例化后,容器将调用init(ServletConfig)对其进行初始化。然后,容器将调用无参的init()。之后Servlet就完成了初始化。
    3. 为客户提供服务 service()
      • 在Servlet实例正常初始化后,它就准备为客户提供服务。
    4. 销毁和卸载Servlet destory()
      • 当容器决定不再需要Servlet实例时,它将在Servlet实例上调用destory(), Servlet在该方法中释放资源。

    28页 2.1 2.2的代码能写得出来
    下面是一个登陆页面,通过表单提供请求参数,然后在Servlet中检索参数并验证,最后向用户发送验证消息。

    • 程序2.1
    <form action="login.do" method="post">
        <table>
            <tr>
                <td>用户名:</td>
                <td> <input type="text" name="username"></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td> <input type="password" name="password"></td>
            </tr>
            <tr>
                <td><input type="submit" value="登陆"></td>
                <td><input type="reset" value="重置"></td>
            </tr>
        </table>
    </form>
    

    程序2.2

    import *
    
    @webServlet(name="LoginServlet", urlPatterns={"/login.do"})
    public class LoginServlet extends HttpServlet {
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException{
            String username = reuqest.getParameter("username");
            String password = request.getParameter("password");
            PrintWriter out = response.getWriter();
            out.println("<html><body>");
            if("admin".equals(username) && "admin".equals(password)) {
                out.println("登陆成功欢迎您," + username);
            }
            else {
                out.println("对不起!您的用户名或密码不正确");
            }
            out.println("</body></html>");
        }
    
    }
    

    34页 2.7 2.8程序的原理基本逻辑结构,写的时候心里有数。

    • 一个简单的考试系统,该例说明了当一个参数有多个值时,如何使用getParameterValues()获得该参数的所有参数值。

    • 这里只挑了重点进行讲述

    <input type="checkbox" name="quest3" value="1">Java语言
    <input type="checkbox" name="quest3" value="2">C语言
    <input type="checkbox" name="quest3" value="3">C++语言
    
    • 在Servlet中
    String[] quest3 = request.getParameterValues("quest3");
    if(quest3 != null && quest3.length == 2 && quest3[0].equals("1") && quest3[1].equals("3")) {
        score += 25;
    }
    

    54 程序2.16怎么使用servletConfig读取初始化参数

    // 设置初始化参数
    @WebServlet(name="...", urlPatterns={"/..."},
            initParams = {
                @WebInitParam(name="name", value="zhuyun"),
                @WebInitParam(name="sex", value="male")
            }
     )
     public class Demo extends HttpServlet{
        ServletConfig config = null;
        String name = null;
        String sex = null;
        
        public void init(ServletConfig config) {
            this.config = config;
            name = config.getInitParameter("name");
            sex = config.getInitParameter("sex");
        }
     }
    

    课后习题

    P1:http://www.myserver.com:80/helloweb/helloServlet/hello/abc.jsp?userName="zy"

    • ❓后面的内容称为什么 --- 查询串
    • 具体每个部分名称叫什么,请看书本第50页

    P2: HTTP请求结构由哪几部分组成?请求行由哪几部分组成

    • HTTP请求结构
      • 请求行
      • 请求头
      • 空行
      • 数据
    • 请求行
      • 方法名(GET, POST...)
      • 请求资源的URI
      • HTTP版本

    P3: HTTP响应结构由哪几部分组成?状态行由哪几部分组成?

    • HTTP响应结构
      • 状态行
      • 响应头
      • 空行
      • 响应数据
    • 状态行
      • HTTP版本号
      • 状态码
      • 描述状态码的短语

    P4: GET请求与POST请求有什么异同?

    • GET请求是从服务器检索资源
    • POST请求主要用于向服务器发送数据
    sendRedirect("/abc.do"); // 相对于服务器的根目录
    sendRedirect("abc.do"); // 相对于Web应用程序的文档根目录
    
    request.getRequestDispatcher("/adb.do"); // 相对于Web应用程序的文档根目录
    request.getRequestDispatcher("adb.do"); // 当前资源所在的目录
    

    第三章

    61 什么是会话

    会话是一个客户与服务器之间的不间断的请求响应序列。

    会话的管理机制

    结合书本P62页的图

    1. 当浏览器向服务器发送第一个请求时,服务器可以创建会话对象,并为其指定唯一ID。将请求对象与会话对象进行关联
    2. 当服务器发送响应时,会携带会话ID
    3. 客户接收到会话ID,会将其缓存在Web浏览器中。当客户再次发送请求时,会携带会话ID
    4. 服务器会从请求对象中取出会话ID,与之前创建的会话对象进行匹配

    66 程序3.3 在session中存储数据

    // 只记载关键代码
    // doGet函数中
    int magic = (int)(Math.random() * 101);
    HttpSession session = request.getSession();
    session.setAttribute("num", (Integer)magic);
    
    // doPost函数中
    int guess = (int)request.getParameter("guess");
    HttpSession session = request.getSession();
    int num = (Integer)session.getAttribute("num");
    
    

    第四章

    JSP三种脚本元素,能够写具体的例子

    1. 声明

    声明的变量仅在页面第一次载入时由容器初始化一次。

    <%! int count = 1;%>
    
    1. 小脚本

    不能在小脚本中声明方法,因为Java不能再方法中声明方法。

    <%
        request.getParametetr("name");
    %>
    
    1. 表达式

    与变量声明不同,表达式不能以 ; 结尾。

    <%= count%>
    

    程序4.7 只用JSP完成的JAVA要做的事,熟练使用JSP

    <%! 
        double r = 0;
        double area(double r) {
            return Math.PI * r * r;
        }
    %>
    
    <% 
        String radius = request.getParameter("radius");
        if(radius == null) {
            r = 0;
        }
        else {
            r = Double.parseDouble(radius);
        }
    %>
    
    <form action="area.jsp" method="post">
        请输入圆的半径:
        <input type="text" name="radius">
        <inout type="submit" value="提交">
    </form>
    
    半径为<%= r%>的圆的面积为:<%= area(r)%>
    

    90 JSP隐含变量 4~6种隐含变量,基本概念,特点,功能

    1. application
      1. 基本概念:ServletContext的隐含变量
      2. 特点:每个Web应用程序创建一个唯一的ServletContext实例对象。
      3. 功能:获得Web应用程序的初始化参数过Servlet容器的版本信息,它也可以被用来与其它Servlet共享数据。
    2. session
      1. 基本概念:HttpSession的隐含变量
      2. 特点:...
    3. reuqest
    4. pageContext
    5. page
    6. out
    7. ...

    94 四种作用域,名字是什么,生命周期有多长,写代码的时候怎么调用这四个作用域

    • 在第四章中已整理,请前往第四章查看
    • 四种作用域
      1. ServletContext 应用作用域, 应用程序生命期内都可以访问
      2. HttpSession 会话作用域,在会话有效时才能访问
      3. HttpServletRequest 请求作用域,仅在该请求被服务期间可被访问。
      4. PageContext 页面作用域,只能在它们所定义的转换单元中被访问。

    103 JavaBean三个规范以及优点

    • 规范

      1. 为public类,需要有一个无参的构造方法
      2. 属性的访问权限为private,属性的首字母应为小写
      3. 每个属性有其对应的getXxx()和setXxx(), 如果属性的类型为boolean,则访问方法改为isXxx()
    • 优点

      • 将业务逻辑从表示层剥离出来了
      • 增加了代码的可重用性
      • 增加了可维护性
      • 可以充分利用面向对象的特性

    程序4.20 知道JavaBean是怎么写的

    • 有一个Customer类,其中有custName, email, phone三个属性

    程序4.21,22,23怎么结合JavaBean实现一系列的操作。

    程序4.21(只对重点进行描述)

    <input type="text" name="custName">
    <input type="text" name="email">
    <input type="text" name="phone">
    

    程序4.22(创建bean,在作用域中进行共享)

    String name = request.getParameter("custName");
    String email = request.getParameter("email");
    String phone = request.getParameter("phone");
    Customer customer = new Customer(name, email, phone);
    HttpSession session = request.getSession();
    session.setAttribute("customer", customer);
    RequestDispatcher rd = request.getRequestDisatcher("/displayCustomer.jsp");
    rd.forward(request, response);
    

    程序4.23(获取bean,打印属性值)

    <!--页面首先在会话作用域查找名为customer的bean实例,如果找到将输出bean实例的各属性值,如果找不到将创建一个bean实例并使用同名的请求参数为bean实例的各属性值赋值,最后也输出各属性值-->
    <jsp:useBean id="customer" scope="session" class="class.demo.Customer">
        <jsp:setProperty name="customer" property="*">
    </jsp:useBean>
    客户名:<jsp:getProperty name="customer" property="custName">
    ...
    

    110 什么是MVC的设计模式, MVC的实现步骤

    • MVC模式称为模块-视图-控制器模式。Web应用的组件分为模块,视图和控制器,每种组件完成各自的任务。该模型将业务逻辑和数据访问从表示层中分离出来。
    • 实现步骤
      1. 定义JavaBeans表示数据
      2. 使用Servlet处理请求
      3. 填写JavaBeans对象数据
      4. 将结果存储在作用域对象
      5. 将请求转发到作用域页面
      6. 最后在JSP页面中从JavaBeans中取出数据

    第五章和第六章一分不考

    第七章

    • 171 程序7.1 7.2 7.3 7.4 7.5,7.3是重中之重。

    相关文章

      网友评论

          本文标题:考试重点但不囊括所有考点

          本文链接:https://www.haomeiwen.com/subject/rdirrqtx.html