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

2019-01-05  本文已影响0人  zju_dream

2019.1.10 更新完结 😀

考试题型:


重点

第一章

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的生命周期的过程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中检索参数并验证,最后向用户发送验证消息。

<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程序的原理基本逻辑结构,写的时候心里有数。

<input type="checkbox" name="quest3" value="1">Java语言
<input type="checkbox" name="quest3" value="2">C语言
<input type="checkbox" name="quest3" value="3">C++语言
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"

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

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

P4: 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 四种作用域,名字是什么,生命周期有多长,写代码的时候怎么调用这四个作用域

103 JavaBean三个规范以及优点

程序4.20 知道JavaBean是怎么写的

程序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的实现步骤

第五章和第六章一分不考

第七章

上一篇下一篇

猜你喜欢

热点阅读