精华内容
下载资源
问答
  • 面向.net的web应用程序设计课后答案 面向.net的web应用程序设计课后答案
  • 基于.NET的Web程序设计 课后习题答案
  • Web.asp 程序设计课后习题答案(沈士根版) pdf。
  • 课程定位与设计思路 1.1 课程定位 本 课 程 是 高 职 高 专 专 软 件 技 术 专 业 的 专 业 技 术 课 程 Java 的 J2EE 体 系 中 JSP/Servlct/JavaBcan 占据了非常重要的位置不仅成为 web 项目开发的利器而且也是人 ...
  • JavaWeb程序设计课后答案

    千次阅读 2019-12-29 16:53:21
    JavaWeb程序设计课后答案

    JavaWeb程序设计课后答案

    第一章
    【答案】
    1、HTML:HTML是英文Hyper Text Markup Language的缩写,中文译为“超文本标记语言”,其主要作用是通过HTML标记对网页中的文本、图片、声音等内容进行描述。
    CSS:CSS 是 Cascading Style Sheet 的缩写,译作“层叠样式表单”,是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
    DOM:DOM是Document Object Model(文档对象模型)的简称,是W3C组织推荐的处理可扩展标志语言的标准编程接口,它可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。
    JavaScript:JavaScript是Web中一种功能强大的脚本语言,被设计为向 HTML 页面增加交互性,常用来为网页添加各式各样的动态功能,它不需要进行编译,直接嵌入在HTML页面中,就可以把静态的页面转变成支持用户交互并响应事件的动态页面。

    2、HTML常用的标记有:
    1)

    2)



    3)


    4)
    5)
    6)

    7)
    8)
    9)

    • 10)

      3、HTML页面代码如下:

      hello world hello world!~~
      hello world!~~

      4、HTML页面代码如下:



      第二章
      【答案】
      1、HTTP1.1协议的通信过程如下:

      1. 客户端与服务器端建立TCP连接。
      2. 客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。
      3. 服务器必须按照接受客户端请求的先后顺序依次返回响应结果。
        4)客户端发出关闭TCP连接的请求。
      4. 服务器端关闭TCP连接。

      2、POST请求和GET请求主要有如下不同:

      1. POST传输数据大小无限制
      2. POST比GET请求方式更安全

      3、Tomcat安装目录下的子目录及其说明如下:
      bin:用于存放Tomcat的可执行文件和脚本文件(扩展名为.bat的文件),如tomcat7.exe、startup.bat;
      conf:用于存放Tomcat的各种配置文件,如web.xml、server.xml;
      lib:用于存放Tomcat服务器和所有Web应用程序需要访问的JAR文件;
      logs:用于存放Tomcat的日志文件;
      temp:用于存放Tomcat运行时产生的临时文件;
      webapps:Web应用程序的主要发布目录,通常将要发布的应用程序放到这个目录下;
      work:Tomcat的工作目录,JSP编译生成的Servlet源文件和字节码文件放到这个目录下。

      4、XML页面代码如下:

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

      <球队列表>

      <球队 类型=“足球队”>
      <队名>Madrid</队名>
      <队员>
      <姓名>Ronaldo</姓名>
      <姓名>Casillas</姓名>
      <姓名>Ramos</姓名>
      <姓名>Modric</姓名>
      <姓名>Benzema</姓名>
      </队员>
      </球队>

      <球队 类型=“篮球队”>
      <队名>Lakers</队名>
      <队员>
      <姓名>Oneal</姓名>
      <姓名>Bryant</姓名>
      </队员>
      </球队>
      </球队列表>

      第三章
      【答案】
      1、Servlet接口中有init、service、destroy 、getServletConfig和getServletInfo这 5个方法,这些方法的特点及其作用具体如下:
      1)init(ServletConfig config)方法,该方法在服务器对Servlet第一次访问时调用,负责Servlet初始化工作。在一个Servlet的生命周期中只执行一次。该方法接收一个ServletConfig类型的参数,Servlet容器可以通过这个参数向Servlet传递初始化配置信息。
      2)service(ServletRequest request,ServletResponse response)方法,该方法负责响应用户的请求,当容器接收到客户端访问Servlet对象的请求时,就会调用此方法。
      3)destroy()方法,该方法方法负责释放Servlet对象占用的资源。当Servlet对象被销毁时,容器会调用此方法。
      4)getServletConfig()方法,该方法返回容器调用init(ServletConfig config)方法时传递给Servlet的ServletConfig对象。
      5)getServletInfo()方法,该方法返回一个字符串,其中包含了关于Servlet的信息,例如,作者、版本和版权等信息。

      2、ServletContext接口的三个主要作用如下:
      1)获取Web应用程序的初始化参数
      2)实现多个Servlet对象共享数据
      3)读取Web应用下的资源文件

      3、实现步骤如下:
      1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法
      2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次Servlet,使访问次数times加1
      3)获取ServletContext,通过它的功能记住上一次访问后的次数
      (1)ShowTimesServlet类的编写如下:
      public class ShowTimesServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
      protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      ServletContext context = getServletContext();
      Integer times = (Integer) context.getAttribute(“times”);
      if (times == null) {
      times = new Integer(1);
      } else {
      times = new Integer(times.intValue() + 1);
      }
      //设置编码,不然中文会变成乱码
      resp.setContentType(“text/html;charset=GB2312”);
      //得到输出流对象
      PrintWriter out=resp.getWriter();
      out.println("");<br/> out.println(“页面访问统计”);<br/> out.println("");
      out.println(“当前页面被访问了”);
      out.println(""+times+“次”);
      //设置属性,将times保存到当前的上下文中
      context.setAttribute(“times”,times);
      }
      protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      this.doGet(req, resp);
      }
      }
      (2)web.xml配置信息如下:

      ShowTimesServlet

      cn.itcast.chapter03.servlet.ShowTimesServlet



      ShowTimesServlet
      /ShowTimesServlet

      4、实现代码如下:
      (1)TestServlet类如下:
      public class TestServlet extends HttpServlet {
      protected void doGet(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
      PrintWriter out = response.getWriter();
      // 获得ServletConfig对象
      ServletConfig config = this.getServletConfig();
      // 获得参数名为encoding对应的参数值
      String param = config.getInitParameter(“encoding”);
      out.println(“encoding=” + param);
      }
      protected void doPost(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
      this.doGet(request, response);
      }
      }
      (2)web.xml文件配置如下:

      TestServlet
      cn.itcast.chapter03.servlet.TestServlet

      encoding
      UTF-8



      TestServlet
      /TestServlet

      第四章
      【答案】
      1、请求转发与重定向的异同点如下:
      1)请求转发和重定向都可以实现访问一个资源时转向当前应用资源
      2)请求转发是一次请求一次响应,而重定向为两次请求两次响应
      3)一般情况下应该使用请求转发,减少浏览器对服务器的访问,减轻服务器压力
      4)如果需要改变浏览器的地址栏,或更改浏览器的刷新按钮的功能时需要使用重定向

      2、禁止浏览器缓存页面的核心代码如下:
      response.setDateHeader(“Expires”,0);
      response.setHeader(“Cache-Control”,“no-cache”);
      response.setHeader(“Pragma”,“no-cache”);

      3、实现代码如下:
      (1)MyServlet程序类如下:
      public class MyServlet extends HttpServlet {
      protected void doGet(HttpServletRequest request,
      HttpServletResponse response)throws ServletException, IOException {
      System.out.println(“这里是MyServlet!”);
      response.sendRedirect(request.getContextPath() + “/index.jsp”);
      }
      }
      (2)web.xml文件配置如下:

      MyServlet

      cn.itcast.chapter04.servlet.MyServlet



      MyServlet
      /MyServlet

      4、该功能的实现步骤如下:
      1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类的doGet()方法。
      2)在doGet()方法中,使用HttpServletRequest对象的getHeader(“referer”)方法得到字段referer的值,并判断是否可以进行资源下载。
      3)如果不能下载,则进入下载页(需要在Eclipse的WebContent目录下创建一个download.html)。
      (1)DownManagerServlet类的实现代码如下:
      public class DownManagerServlet extends HttpServlet {
      public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType(“text/html;charset=utf-8”);
      PrintWriter out = response.getWriter();
      // 获取referer头的值
      String referer = request.getHeader(“referer”);
      // 获取访问地址
      String sitePart = “http://” + request.getServerName();
      if (referer != null && referer.startsWith(sitePart)) {
      // 处理正在下载的请求
      out.println(“dealing download …”);
      } else {
      // 非法下载请求跳转到download.html页面
      RequestDispatcher rd = request
      .getRequestDispatcher("/download.html");
      rd.forward(request, response);
      }
      }
      }
      (2)web.xml文件中DownManagerServlet的映射信息配置如下:

      DownManagerServlet

      cn.itcast.chapter04.servlet.DownManagerServlet



      DownManagerServlet
      /DownManagerServlet

      第五章
      【答案】
      1、会话过程类似于生活中的打电话过程,它指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应过程。在Servlet技术中,提供了两个用于保存会话数据的对象,分别是Cookie和Session。

      2、Cookie与Session主要有如下区别:
      1)Cookie和HttpSession是保存会话相关数据的技术,其中Cookie将信息存储在浏览器端,是客户端技术,Session将数据保存在服务器端,是服务器端技术
      2)Cookie是基于HTTP协议中的Set-Cookie响应头和Cookie请求头进行工作的
      3)默认情况下HttpSession是基于一个名称为JSESSIONID 的特殊Cookie工作的
      4)浏览器对Cookie具有严格的限制,一个网站能在浏览器中保存多少Cookie是有限制的
      5)HttpSession默认是基于Cookie运作的。

      3、该功能的实现步骤如下:
      1)创建一个LastAccessServlet类,使其继承HttpServlet类并重写该类的doGet()方法。
      2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组,并进行遍历。
      3)如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie对象设置值为当前时间并发送给客户端。
      4)cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cookie信息。
      (1)LastAccessServlet类的实现代码如下:
      public class LastAccessServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
      public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType(“text/html;charset=utf-8”);
      /*
      * 设定一个 cookie 的name : lastAccessTime 读取客户端发送cookie
      * 获得用户上次的访问时间显示
      */
      String lastAccessTime = null;
      // 获取所有的cookie,并将这些cookie存放在数组中
      Cookie[] cookies = request.getCookies();
      for (int i = 0; cookies != null && i < cookies.length; i++) {
      if (“lastAccess”.equals(cookies[i].getName())) {
      // 如果cookie的名称为lastAccess,则获取该cookie的值
      lastAccessTime = cookies[i].getValue();
      break;
      }
      }
      // 判断是否存在名称为lastAccess的cookie
      if (lastAccessTime == null) {
      response.getWriter().print(“您是首次访问本站!!!”);
      } else {
      response.getWriter().print(“您上次的访问时间” + lastAccessTime);
      }
      // 创建cookie,将当前时间作为cookie的值发送给客户端
      Cookie cookie = new Cookie(“lastAccess”, new Date().toLocaleString());
      cookie.setMaxAge(60 * 60);// 保存1小时
      // 访问chapter05下资源时回送cookie
      cookie.setPath("/chapter05");
      // 发送 cookie
      response.addCookie(cookie);
      }
      }
      (2)web.xml文件配置如下:

      LastAccessServlet

      cn.itcast.chapter05.servlet.LastAccessServlet



      LastAccessServlet
      /LastAccessServlet

      4、该功能的实现代码如下:
      (1)书籍Book类的创建如下:
      public class Book implements Serializable {
      private static final long serialVersionUID = 1L;
      private String id;
      private String name;
      public Book() {
      }
      public Book(String id, String name) {
      this.id = id;
      this.name = name;
      }
      public String getId() {
      return id;
      }
      public void setId(String id) {
      this.id = id;
      }
      public String getName() {
      return name;
      }
      public void setName(String name) {
      this.name = name;
      }
      }
      (2)书籍数据库模拟类BookDB的代码如下:
      private static Map<String, Book> books = new LinkedHashMap<String, Book>();
      static {
      books.put(“1”, new Book(“1”, “javaweb开发”));
      books.put(“2”, new Book(“2”, “jdbc开发”));
      books.put(“3”, new Book(“3”, “java基础”));
      books.put(“4”, new Book(“4”, “struts开发”));
      books.put(“5”, new Book(“5”, “spring开发”));
      }
      // 获得所有的图书
      public static Collection getAll() {
      return books.values();
      }
      // 根据指定的id获得图书
      public static Book getBook(String id) {
      return books.get(id);
      }
      }
      (3)显示可购买图书的列表类ListBookServlet的代码如下:
      public class ListBookServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      resp.setContentType(“text/html;charset=utf-8”);
      PrintWriter out = resp.getWriter();
      Collection books = BookDB.getAll();
      out.write(“本站提供的图书有:
      ”);
      for (Book book : books) {
      String url = “/chapter05/PurchaseServlet?id=” + book.getId();
      out.write(book.getName() + “点击购买
      ”);
      }
      }
      }
      (4)购物功能类PurchaseServlet的代码如下:
      public class PurchaseServlet extends HttpServlet {
      private static final long serialVersionUID = 1L;
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      // 获得用户购买的商品
      String id = req.getParameter(“id”);
      if (id == null) {
      // 如果id为null,重定向到ListBookServlet页面
      String url = “/chapter05/ListBookServlet”;
      resp.sendRedirect(url);
      return;
      }
      Book book = BookDB.getBook(id);
      // 创建或者获得用户的Session对象
      HttpSession session = req.getSession();
      // 从Session对象中获得用户的购物车
      List cart = (List) session.getAttribute(“cart”);
      if (cart == null) {
      // 首次购买,为用户创建一个购物车(List集合模拟购物车)
      cart = new ArrayList();
      // 将购物城存入Session对象
      session.setAttribute(“cart”, cart);
      }
      // 将商品放入购物车
      cart.add(book);
      // 创建Cookie存放Session的标识号
      Cookie cookie = new Cookie(“JSESSIONID”, session.getId());
      cookie.setMaxAge(60 * 30);
      cookie.setPath("/chapter05");
      resp.addCookie(cookie);
      // 重定向到购物车页面
      String url = “/chapter05/CartServlet”;
      resp.sendRedirect(url);
      }
      }
      (5)展示所购图书类CartServlet的代码如下:
      public class CartServlet extends HttpServlet {
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      resp.setContentType(“text/html;charset=utf-8”);
      PrintWriter out = resp.getWriter();
      // 变量cart引用用户的购物车
      List cart = null;
      // 变量pruFlag标记用户是否买过商品
      boolean purFlag = true;
      // 获得用户的session
      HttpSession session = req.getSession(false);
      // 如果session为null,purFlag置为false
      if (session == null) {
      purFlag = false;
      } else {
      // 获得用户购物车
      cart = (List) session.getAttribute(“cart”);
      // 如果用的购物车为null,purFlag置为false
      if (cart == null) {
      purFlag = false;
      }
      }
      /*
      * 如果purFlag为false,表明用户没有购买图书 重定向到ListServlet页面
      */
      if (!purFlag) {
      out.write(“对不起!您还没有购买任何商品!
      ”);
      } else {
      // 否则显示用户购买图书的信息
      out.write(“您购买的图书有:
      ”);
      double price = 0;
      for (Book book : cart) {
      out.write(book.getName() + “
      ”);
      }
      }
      }
      }
      (6)web.xml文件配置如下:

      ListBookServlet
      ListBookServlet

      cn.itcast.chapter05.session.example01.ListBookServlet



      ListBookServlet
      /ListBookServlet


      PurchaseServlet
      PurchaseServlet

      cn.itcast.chapter05.session.example01.PurchaseServlet



      PurchaseServlet
      /PurchaseServlet


      CartServlet
      CartServlet

      cn.itcast.chapter05.session.example01.CartServlet



      CartServlet
      /CartServlet

      第六章
      【答案】
      1、JSP的运行原理如下:
      1)客户端发出请求,请求访问JSP文件。
      2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果发现JSP文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
      3)如果转换成功,则JSP容器将生成的Java源文件编译成相应的字节码文件*.class。该class文件就是一个Servlet,Servlet容器会像处理其他Servlet一样来处理它。
      4)由Servlet容器加载转换后的Servlet类(.class文件)创建一个该Servlet(JSP页面的转换结果)实例,并执行Servlet的jspInit()方法。jspInit()方法在Servlet的整个生命周期中只会执行一次。
      5)执行jspService()方法来处理客户端的请求。对于每一个请求,JSP容器都会创建一个新的线程来处理它。如果多个客户端同时请求该JSP文件,则JSP容器也会创建多个线程,使得每一个客户端请求都对应一个线程。JSP运行过程中采用的这种多线程的执行方式可以极大地降低对系统资源的需求,提高系统的并发量并缩短响应时间。需要注意的是,由于第(4)步生成的Servlet是常驻内存的,所以响应速度非常快。
      6)如果JSP文件被修改了,则服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则使用重新编译后的结果取代内存中常驻的Servlet,并继续上述处理过程。
      7)虽然JSP效率很高,但在第一次调用的时候往往由于需要转换和编译,所以会产生一些轻微的延迟。此外,由于系统资源不足等原因,JSP容器可能会以某种不确定的方式将Servlet从内存中移除,发生这种情况时首先会调用jspDestroy()方法,然后Servlet实例会被加入“垃圾收集”处理。
      8)当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端。

      2、JSP2.0规范中提供了9个隐式(内置)对象,它们是JSP默认创建的,可以直接在JSP页面中使用。这9个隐式对象的名称和作用如下:
      1)out:主要用于页面输出;
      2)request:用于得到用户请求信息;
      3)response:表示服务器向客户端的回应信息;
      4)config:包含服务器的配置信息,可以使用该对象获得Servlet初始化参数;
      5)session:主要用来保存用户信息;
      6)application:包含所有用户的共享信息;
      7)page:指当前页面转换后的Servlet类的实例;
      8)pageContext:表示JSP页面容器,它提供了对JSP页面内所有的对象及名字空间的访问;
      9)exception::表示JSP页面所发生的异常,在错误页中才起作用。

      3、该功能的实现代码如下:
      (1)a.jsp文件如下:
      <%@ page contentType=“text/html;charset=UTF-8”%>
      <%Thread.sleep(5000);%>
      这个是a.jsp页面

      (2)b. jsp文件如下:
      <%@ page contentType=“text/html;charset=UTF-8”%>
      这个是b.jsp页面

      <jsp:include page=“a.jsp” flush=“true” />

      4、web.xml文件代码如下:

      404
      /404.jsp


      500
      /500.jsp

      第七章
      【答案】
      1、Javabean规范如下:
      1)它必须具有一个公共的、无参的构造方法,这个方法可以是编译器自动产生的缺省构造方法。
      2)它提供公共的setter方法和getter方法让外部程序设置和获取JavaBean的属性。
      3)它是一个公有类。
      4)通常需要实现java.io.Serializable,用于序列化。

      2、EL标识符的规范如下:
      1)可以由任意顺序的大小写字母、数字和下划线组成
      2)不能以数字开头
      3)不能是EL中的保留字,如and、or、gt;
      4)不能是EL隐式对象,如pageContext;
      5)不能包含单引号(’)、双引号(")、减号(-)和正斜线等特殊字符

      3、c_ choose.jsp页面代码如下:
      <%@ page language=“java” contentType=“text/html;
      charset=utf-8” pageEncoding=“utf-8” import=“java.util.*”%>
      <%@ taglib uri=“http://java.sun.com/jsp/jstl/core”
      prefix=“c”%>

      unKnown user. ${ param.username} is manager. you are a employee.

      4、页面代码如下:
      <%@ page language=“java” contentType=“text/html; charset=utf-8”
      pageEncoding=“utf-8”%>
      <%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>

      welcome name:
      ${param.num1} welcome!!

      5、该功能的实现步骤如下:
      1)直接生成Person对象。
      2)使用BeanUtils工具为name属性赋值”Tom”,age赋值为31。
      3)使用BeanUtils工具取出属性值,并在控制台输出。
      (1)Person类如下:
      public class Person {
      private String name;
      private int age;
      public String getName() {
      return name;
      }
      public void setName(String name) {
      this.name = name;
      }
      public int getAge() {
      return age;
      }
      public void setAge(int age) {
      this.age = age;
      }
      }
      (2)BeanUtilsDemo01类如下:
      public class BeanUtilsDemo01 {
      public static void main(String[] args) throws Exception {
      Person p = new Person();
      // 使用BeanUtils为属性赋值
      BeanUtils.setProperty(p, “name”, “Tom”);
      BeanUtils.setProperty(p, “age”, 31);
      // 使用BeanUtils获取属性值
      String name = BeanUtils.getProperty(p, “name”);
      String age = BeanUtils.getProperty(p, “age”);
      System.out.println(“名字是” + name + “,今年” + age + “岁”);
      }
      }

      第八章
      【答案】
      1、Filter被称作过滤器或者拦截器,其基本功能就是对Servlet容器调用Servlet的过程进行拦截,从而在Servlet进行响应处理前后实现一些特殊功能。

      2、Servlet事件监听器的作用有如下几点:
      1)监听Web应用程序中ServletContext、HttpSession和ServletRequest等域对象的创建和销毁过程。
      2)监听ServletContext、HttpSession和ServletRequest等域对象属性的修改。
      3)感知绑定到HttpSession域中某个对象的状态。

      3、该功能的实现步骤如下:
      (1)创建MyServlet程序类。
      import java.io.;
      import javax.servlet.
      ;
      import javax.servlet.http.;
      public class MyServlet extends HttpServlet {
      public void doGet(HttpServletRequest request,
      HttpServletResponse response)throws ServletException, IOException {
      response.getWriter().write("Hello MyServlet ");
      }
      public void doPost(HttpServletRequest request,
      HttpServletResponse response)throws ServletException, IOException {
      doGet(request, response);
      }
      }
      (2)创建过滤器MyFilter类。
      import java.io.
      ;
      import javax.servlet.Filter;
      import javax.servlet.*;
      public class MyFilter implements Filter {
      public void destroy() {
      // 过滤器对象在销毁时自动调用,释放资源
      }
      public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain chain) throws IOException, ServletException {
      // 用于拦截用户的请求,如果和当前过滤器的拦截路径匹配,该方法会被调用
      PrintWriter out=response.getWriter();
      out.write(“Hello MyFilter”);
      }
      public void init(FilterConfig fConfig) throws ServletException {
      // 过滤器对象在初始化时调用,可以配置一些初始化参数
      }
      }
      (3)编写web.xml文件,设置对MyServlet的拦截

      MyServlet
      cn.itcast.chapter08.servlet.MyServlet


      MyServlet
      /MyServlet


      MyFilter
      MyFilter
      cn.itcast.chapter08.filter.MyFilter


      MyFilter
      /MyServlet

      (4)启动服务器后,访问MyServlet,即可查看拦截效果。

      4、该功能的实现步骤如下:
      (1)编写一个testattribute.jsp页面,以观察各个域对象属性事件监听器的作用。
      <%@ page language=“java” contentType=“text/html; charset=utf-8”
      pageEncoding=“utf-8”%>

      Insert title here

      这是一个测试对象属性信息监听器的页面

      <% getServletContext().setAttribute("username", "itcast"); getServletContext().setAttribute("username", "itheima"); getServletContext().removeAttribute("username"); session.setAttribute("username", "itcast"); session.setAttribute("username", "itheima"); session.removeAttribute("username"); request.setAttribute("username", "itcast"); request.setAttribute("username", "itheima"); request.removeAttribute("username"); %> (2)编写一个MyAttributeListener类,该类实现了ServletContextAttributeListener、HttpSessionAttributeListener和ServletRequestAttributeListener接口,并实现该接口中的所有方法。 public class MyAttributeListener implements ServletContextAttributeListener, HttpSessionAttributeListener, ServletRequestAttributeListener { public void attributeAdded(ServletContextAttributeEvent sae) { String name = sae.getName(); System.out.println("ServletContext添加属性:" + name + "=" + sae.getServletContext().getAttribute(name)); } public void attributeRemoved(ServletContextAttributeEvent sae) { String name = sae.getName(); System.out.println("ServletContext移除属性: " + name); } public void attributeReplaced(ServletContextAttributeEvent sae) { String name = sae.getName(); System.out.println("ServletContext替换属性:" + name + "=" + sae.getServletContext().getAttribute(name)); } public void attributeAdded(HttpSessionBindingEvent hbe) { String name = hbe.getName(); System.out.println("HttpSession添加属性:" + name + "=" + hbe.getSession().getAttribute(name)); } public void attributeRemoved(HttpSessionBindingEvent hbe) { String name = hbe.getName(); System.out.println("HttpSession移除属性: " + name); } public void attributeReplaced(HttpSessionBindingEvent hbe) { String name = hbe.getName(); System.out.println("HttpSession替换属性:" + name + "=" + hbe.getSession().getAttribute(name)); } public void attributeAdded(ServletRequestAttributeEvent sra) { String name = sra.getName(); System.out.println("ServletRequest添加属性:" + name + "=" + sra.getServletRequest().getAttribute(name)); } public void attributeRemoved(ServletRequestAttributeEvent sra) { String name = sra.getName(); System.out.println("ServletRequest移除属性: " + name); } public void attributeReplaced(ServletRequestAttributeEvent sra) { String name = sra.getName(); System.out.println("ServletRequest替换属性:" + name + "=" + sra.getServletRequest().getAttribute(name)); } } (3)在web.xml文件中,部署 MyAttributeListener事件监听器。 cn.itcast.chapter08.listener.MyAttributeListener (4)访问testattribute.jsp页面,查看控制台窗口的显示结果。

      第九章
      【答案】
      1、JDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等处理。

      2、JDBC的实现步骤如下:
      1)加载并注册数据库驱动
      2)通过DriverManager获取数据库连接
      3)通过Connection对象获取Statement对象
      4)使用Statement执行SQL语句
      5)操作ResultSet结果集
      6)关闭连接,释放资源

      3、该程序代码如下所示:
      public class Example01 {
      public static void main(String[] args) throws SQLException {
      // 1. 注册数据库的驱动
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      // 2.通过DriverManager获取数据库连接
      String url = “jdbc:mysql://localhost:3306/jdbc”;
      String username = “root”;
      String password = “itcast”;
      Connection conn = DriverManager.getConnection(url, username, password);
      // 3.通过Connection对象获取Statement对象
      Statement stmt = conn.createStatement();
      // 4.使用Statement执行SQL语句。
      String sql = “select * from users”;
      ResultSet rs = stmt.executeQuery(sql);
      // 5. 操作ResultSet结果集
      System.out.println(“id | name | password | email |”);
      while (rs.next()) {
      int id = rs.getInt(“id”); // 通过列名获取指定字段的值
      String name = rs.getString(“name”);
      String psw = rs.getString(“password”);
      String email = rs.getString(“email”);
      System.out.println(id + " | " + name + " | " + psw + " | " + email);
      }
      // 6.回收数据库资源
      rs.close();
      stmt.close();
      conn.close();
      }
      }

      4、该功能的实现步骤如下:
      (1)JDBCUtils工具类的代码如下所示:
      import java.sql.*;
      public class JDBCUtils {
      // 加载驱动,并建立数据库连接
      public static Connection getConnection() throws SQLException,
      ClassNotFoundException {
      Class.forName(“com.mysql.jdbc.Driver”);
      String url = “jdbc:mysql://localhost:3306/jdbc”;
      String username = “root”;
      String password = “itcast”;
      Connection conn = DriverManager.getConnection(url, username,
      password);
      return conn;
      }
      // 关闭数据库连接,释放资源
      public static void release(Statement stmt, Connection conn) {
      if (stmt != null) {
      try {
      stmt.close();
      } catch (SQLException e) {
      e.printStackTrace();
      }
      stmt = null;
      }
      if (conn != null) {
      try {
      conn.close();
      } catch (SQLException e) {
      e.printStackTrace();
      }
      conn = null;
      }
      }
      public static void release(ResultSet rs, Statement stmt,
      Connection conn){
      if (rs != null) {
      try {
      rs.close();
      } catch (SQLException e) {
      e.printStackTrace();
      }
      rs = null;
      }
      release(stmt, conn);
      }
      }
      (2)Example02的代码如下所示:
      public class Example02{
      public static void main(String[] args) {
      Connection conn = null;
      PreparedStatement preStmt = null;
      try {
      // 加载并注册数据库驱动
      conn=JDBCUtils.getConnection();
      String sql = “INSERT INTO users(name,password)VALUES(?,?)”;
      preStmt = conn.prepareStatement(sql);
      for (int i = 0; i < 5; i++) {
      preStmt.setString(1, “name” + i);
      preStmt.setString(2, “password” + i);
      preStmt.addBatch();
      }
      preStmt.executeBatch();
      } catch (Exception e) {
      e.printStackTrace();
      } finally { // 释放资源
      JDBCUtils.release(null, preStmt, conn);
      }
      }
      }

      第十章
      【答案】
      1、数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,当应用程序访问数据库时并不是直接创建Connection,而是向连接池“申请”一个Connection。如果连接池中有空闲的Connection,则将其返回,否则创建新的Connection。使用完毕后,连接池会将该Connection回收,并交付其他的线程使用,以减少创建和断开数据库连接的次数,提高数据库的访问效率。

      2、DriverManager和DataSource中的getConnection()方法的区别如下:
      1)DriverManager每次调用getConnection方法都会初始化一个新的连接,而DataSource的getConnection只是从池中取出一个已存在的连接
      2)DriverManager的close()是释放Connection,而DataSource的close()只会把Connection归还给连接池。

      3、ResultSetTest类的实现代码如下:
      public class ResultSetTest {
      public static void testArrayHandler() throws SQLException {
      BaseDao basedao = new BaseDao();
      String sql = “select * from user where id=?”;
      Object[] arr = (Object[]) basedao.query(sql, new ArrayHandler(),
      new Object[] { 1 });
      for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i] + ", ");
      }
      }
      public static void main(String[] args) throws SQLException {
      testArrayHandler();
      }
      }

      4、ResultSetTest2类的实现代码如下:
      public class ResultSetTest2 {
      public static void testArrayListHandler() throws SQLException {
      BaseDao basedao = new BaseDao();
      String sql = “select * from user”;
      List list = (List) basedao.query(sql, new ArrayListHandler());
      Object[] arr = (Object[]) list.get(0);
      Object[] arr1 = (Object[]) list.get(1);
      Object[] arr2 = (Object[]) list.get(2);
      for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i] + ", ");
      }
      for (int i = 0; i < arr1.length; i++) {
      System.out.print(arr1[i] + ", ");
      }
      for (int i = 0; i < arr2.length; i++) {
      System.out.print(arr2[i] + ", ");
      }
      }
      public static void main(String[] args) throws SQLException {
      testArrayListHandler();
      }
      }

      第十一章
      【答案】
      1、MVC设计模式是编程语言的一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。MVC设计模式将软件程序分为三个核心模块:模型(Model)、视图(View)和控制器(Controller)。

      2、MVC设计模式中模型(Model)模块的作用如下:
      1)管理应用程序的业务数据。
      2)定义访问控制和修改这些数据的业务规则。
      3)当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法。

      第十二章
      【答案】
      1、该功能的实现步骤如下:
      (1)创建下载页面download.jsp。
      <%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

      文件下载

      2、UploadServlet代码如下:
      public class UploadServlet extends HttpServlet {
      public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType(“text/html;charset=utf-8”);
      try {
      // 创建工厂
      DiskFileItemFactory factory = new DiskFileItemFactory();
      factory.setRepository(new File(“e:\Target”));
      // 创建 fileupload 组件
      ServletFileUpload fileupload = new ServletFileUpload(factory);
      fileupload.setHeaderEncoding(“utf-8”);
      // 解析 request
      List fileitems = fileupload.parseRequest(request);
      PrintWriter writer = response.getWriter();
      // 遍历集合
      for (FileItem fileitem : fileitems) {
      // 判断是否为普通字段
      if (fileitem.isFormField()) {
      // 获得字段名和字段值
      String name = fileitem.getFieldName();
      String value = fileitem.getString(“utf-8”);
      } else {
      // 上传的文件路径
      String filename = fileitem.getName();
      writer.print(“文件来源:” + filename + “
      ”);
      // 截取出文件名
      filename = filename
      .substring(filename.lastIndexOf("\") + 1);
      writer.print(“成功上传的文件:” + filename + “
      ”);
      // 文件名需要唯一
      filename = UUID.randomUUID().toString() + “_” + filename;
      // 在服务器创建同名文件
      String webPath = “/upload/” + filename;
      String path = getServletContext().getRealPath(webPath);
      // 创建文件
      File file = new File(path);
      file.getParentFile().mkdirs();
      file.createNewFile();
      // 获得上传文件流
      InputStream in = fileitem.getInputStream();
      // 获得写入文件流
      OutputStream out = new FileOutputStream(file);
      // 流的对拷
      byte[] buffer = new byte[1024];
      int len;
      while ((len = in.read(buffer)) > 0)
      out.write(buffer, 0, len);
      // 关流
      in.close();
      out.close();
      // 删除临时文件
      fileitem.delete();
      }
      }
      } catch (Exception e) {
      throw new RuntimeException(e);
      }
      }

      public void doPost(HttpServletRequest request, HttpServletResponse response)
      		throws ServletException, IOException {
      	doGet(request, response);
      }
      

      }

      3、实现文件上传的表单页面需要配置如下:
      1)首先要创建一个用于提交上传文件的表单页面。
      2)在页面中,需要使用标签在Web页面中添加文件上传输入项。
      3)必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。
      4)必须把将表单页面的method属性设置为post方式,enctype属性设置为“multipart/form-data”类型。

      4、首先获取下载文件的地址,并根据该地址创建文件字节输入流,然后通过该流读取下载文件内容,最后将读取的内容通过输出流写到目标文件中。

      第十三章
      【答案】
      1、传智书城项目的开发环境如下:
      1)操作系统:Windows XP、Windows 7或更高的Windows版本。
      2)Web服务器:Tomcat7.0。
      3)Java开发包:JDK1.7。
      4)数据库:MySQL5.5。
      5)开发工具:Eclipse Java EE IDE for Web Developers。
      6)浏览器:IE8.0或更高版本。

      2、传智书城项目搭建所需要导入的jar包如下:
      1)c3p0-0.9.1.2.jar
      2)commons-beanutils-1.8.3.jar
      3)commons-dbutils-1.4.jar
      4)commons-fileupload-1.2.1.jar
      5)commons-io-1.4.jar
      6)commons-logging-1.1.1.jar
      7)jstl.jar
      8)mail.jar
      9)mysql-connector-java-5.0.8-bin.jar
      10)standard.jar

      3、c3p0-config.xml文件的配置如下:

      <?xml version="1.0" encoding="UTF-8"?> root itcast com.mysql.jdbc.Driver jdbc:mysql:///itcaststore

      4、数据源工具类DataSourceUtils实现代码如下:
      package cn.itcast.itcaststore.utils;
      import java.sql.Connection;
      import java.sql.SQLException;
      import javax.sql.DataSource;
      import com.mchange.v2.c3p0.ComboPooledDataSource;
      public class DataSourceUtils {
      private static DataSource dataSource = new ComboPooledDataSource();
      private static ThreadLocal tl = new ThreadLocal();
      public static DataSource getDataSource() {
      return dataSource;
      }
      /**
      * 当DBUtils需要手动控制事务时,调用该方法获得一个连接
      *
      * @return
      * @throws SQLException
      /
      public static Connection getConnection() throws SQLException {
      Connection con = tl.get();
      if (con == null) {
      con = dataSource.getConnection();
      tl.set(con);
      }
      return con;
      }
      /
      *
      * 开启事务
      *
      * @throws SQLException
      /
      public static void startTransaction() throws SQLException {
      Connection con = getConnection();
      if (con != null)
      con.setAutoCommit(false);
      }
      /
      *
      * 从ThreadLocal中释放并且关闭Connection,并结束事务
      *
      * @throws SQLException
      /
      public static void releaseAndCloseConnection() throws SQLException {
      Connection con = getConnection();
      if (con != null) {
      con.commit();
      tl.remove();
      con.close();
      }
      }
      /
      *
      * 事务回滚
      * @throws SQLException
      */
      public static void rollback() throws SQLException {
      Connection con = getConnection();
      if (con != null) {
      con.rollback();
      }
      }
      }
      第十四章
      【答案】
      1、当新用户首次访问该网站时,需要先注册账号。在注册页面中新用户需要填写有邮箱、用户名、密码、重复密码、性别、联系电话、个人介绍以及验证码。首先对填写的注册信息进行校验,比如用户名和密码不能为空;密码和重复密码表单输入的内容必须一致;输入的邮箱地址应该是合法的等。然后查询数据库判断用户名是否存在。如果存在,则注册失败。如果不存在,则注册成功。

      2、当用户选择商品时,首先需要校验此用户是否登陆,如果未登录则提示用户登录,如果已经登陆则将商品添加至购物车,此时购物车中如已经有此商品,则商品数量加一,否则创建此商品。商品添加后可选择是继续购物、清空购物车还是进行结算,如果进行结算则让用户填写订单信息,之后生成订单,让用户完成在线支付。

      第十五章
      【答案】
      1、 商品管理模块主要的功能包括查询商品信息、添加商品信息、编辑商品信息和删除商品信息这4个功能。查询商品信息时可通过条件查询也可以查询所用商品。查询之后可进入商品列表页面,在此页面中提供了增加、修改和删除商品信息的功能。单击添加按钮,打开商品添加页面,填写商品信息之后,单击确定按钮后,新添加的商品信息即可在列表页面中显示出来。单击商品列表中修改按钮,页面会跳转到该商品的编辑页面,修改其中显示出商品的具体信息之后,单击保存按钮,商品管理首页将显示修改后的商品信息。单击列表页面中商品后面的删除按钮,会提示是否删除,确定删除后,系统会将此条商品信息删除,商品管理首页将不再显示此信息。

      2、模块主要实现的功能是下载历史销售数据,将已销售商品的信息,按照商品销量从高到低排序后导出到扩展名为“.csv”的文件中(csv文件即逗号分隔值文件格式,通常是纯文本文件)。下载销售数据时可以填写年份和月份这两个查询条件,在年份输入框和月份下拉框中分别填写相应信息,然后单击“下载”按钮,会弹出文件下载提示框,在提示框中选择文件的下载目录,单击“确定”后就可以将指定年份和月份的销售历史数据下载到文件中。

      拿走不客气~

      展开全文
    • Web.asp程序设计课后习题答案(沈士根版)
    • web程序设计课后习题答案,包括简答题的答案
    • 网络程序设计课后答案 篇一网络程序设计 一asp第3版尚俊杰编著课后习 题答案 txt>1. 选择题可多选 1 静态网页的扩展名一般是 htm b .phpc.aspd.jsp 答案 a 2 asp 文件的扩展名是 htm b. txtc. docd. asp 答案 d 3...
    • JSP程序设计 课后答案

      2011-11-22 12:04:59
      JSP程序设计 张跃平 耿祥义(编著)课后答案
    • Web程序设计(第三版)课后习题答案

      万次阅读 多人点赞 2019-06-18 16:17:33
      Web程序设计(第三版)课后习题答案 第一章 一、填空题: 1、NET Framework 主要包括 CLR和.NET Framework类库 2、ASP.NET网站在编译时,首先将语言代码编译成 微软中间语言MSIL 3、一台IIS Web服务器为211.78....

      Web程序设计(第三版)课后习题答案

      第一章

      一、填空题:
      1、NET Framework 主要包括 (CLR)和(.NET Framework类库)
      2、ASP.NET网站在编译时,首先将语言代码编译成 (微软中间语言MSIL)
      3、一台IIS Web服务器为211.78.60.19,网站端口号为8000,则要访问Web应用程序User中Default.aspx的URL为(http://211.78.60.19:8000/user/Default.aspx)
      4、可以通过复制网站同步网站上的一个文件
      5、ASP.NET的开发模式包括(ASP.NET Web窗体)、(ASP.NET MVC)、(ASP.NET Core)
      6、ASP.NET编译模式包括(预编译)和(即时编译)

      二、判断题:
      1、托管代码是以CLR为基础的代码(√)
      2、若某页面上包含动画内容,则该页面肯定是动态页面(×)
      3、一个网站中可以同时包含静态页面和动态页面(√)
      4、ASP.NET页面是边解释边执行的(×)
      5、在VSC 2017中开发网站必须安装独立的IIS(×)
      6、IIS Express具有与IIS类似的功能,但主要用于VSC 2017中的页面浏览(√)
      7、IIS 中的网站与VSC 2017中的网站是相同的概念(×)
      8、ASP.NET MVC支持在Windows、Mac和Linux等操作系统上实现跨平台开发的部署(√)
      9、Web应用程序开发完成后,可以将其开发环境部署到Microsoft Azure(√)

      三、选择题:
      1、Web应用程序不包括(A)
      A.HTTP B.Web部署 C.Web Deploy包 D.文件系统
      2、下面说法错误的是(D)
      A.”复制网站”常用于将网站从“测试服务器”复制到“商业服务器”
      B.”复制网站”实质是在当前网站与另一网站之间复制文件
      C.“发布Web应用”能对当前网站预编译
      D.”复制网站”能对当前网站预编译
      3、以下选项不包括编程语言的是(A)
      A.ASP.NET B.Python C.Visual C# D.Java

      第二章

      一、填空题:
      1、VSC2017默认建立的XHTML文件的类型是(XHTML5)
      2、利用XHTML建立一个链接到jast@126.com邮箱的元素是()
      3、页面中的空格用(&nbsp;)表示
      4、存放Web窗体页C#代码的模型有单文件页模型和(代码隐藏页模型)
      5、实现页面3s自动刷新一次的元素是()
      6、在单文件页模型中,C#代码必须包含于()
      7、代码隐藏页模型通过(CodeFile属性和 Inherits属性)将aspx文件和对应的.aspx.cs文件联系起来
      8外部样式表通过()元素链接到页面
      9、XML主要用于(传输和存储数据)
      10、Global.asax文件用于包含响应(应用程序级别)和(会话级别)事件的代码
      11、Bootstrap 以(移动设备优先)为设计理念,完全体现响应式设计思想,式目前用于(Web前端设计)的主流框架

      二、是非题:
      1、XHTML是HTML的子集(×)
      2、XHTML中每个元素都有结束标记(√)
      3、在元素中可设置能被搜索引擎检索到的关键词(√)
      4、[attr~=val]{…}选择attr属性值中包含val值的元素(√)
      5、.html文件不需要编译,直接从web服务器下载到浏览器执行即可(√)
      6、类选择器在定义时要加前缀#(×)
      7、JavaScript代码必须包含在

      三、选择题:
      1、CSS选择器不包括(D)
      A. 元素选择器 B.属性选择器 C.id选择器 D.文件选择器
      2、下面(B)是静态页面的扩展名
      A. .asp B. .html C. .aspx D. .jsp
      3、APP_Code文件夹用来储存(C)
      A.数据库文件 B.共享文件 C.代码文件 D.主题文件
      4、Web.config文件不能用于(A)
      A.Application事件处理代码的定义 B.数据库连接字符串的定义
      C.对文件夹的访问权限 D.自定义应用程序的配置
      5、响应式设计通过设置元素的name属性值为(A)来实现
      A.viewport B.keywords C.description D.generator
      第三章
      一、填空题:
      1、C#使用的类库就是(.NET Framework)提供的类库
      2、要在一个类中包含System.Data 命名空间的语句是(using system.Data)
      3、使用(Static)修饰符能调用未实例化的类中方法
      4、C#中的数据类型包括(值类型)和(引用类型)
      5、(枚举类型)是由一组命名常量组成的类型
      6、在C#统一类型系统中所有类型都是直接或间接的从(System.Object)类继承
      7、装箱实质是把值类型转换为对象类型
      8、至少会执行一次循环的语句是(do-while语句)
      9、较适用于已知循环次数的循环语句是(for语句)
      10、如果类名为UserInfo,那么它的构造函数名为(UserInfo)
      11、(继承)可以重用现有类的数据和行为,并扩展新的功能

      二、判断题:
      1、decimal类型必须在数据末添加M或m,否者编译器以double类型处理(√)
      2、访问结构中成员的方式通常使用“结构名.成员名”形式(√)
      3、枚举类型的变量可能同时取到枚举中的两个元素的值(×)
      4、数组可以由一组数据类型不相同的元素组成(×)
      5、foreach语句适用于枚举组中的元素(√)
      6、当一个类实例化,它的构造函数中包含的代码肯定会执行(√)

      三、选择题:
      1、下列数据类型属于值类型的是(A)
      A. struct B.class C.interface D.delegate
      2、下列数据类型属于引用类型的是(C)
      1、bool B.char C.string D.enum
      3、下列运算符中(D)
      A. >>= B.&& C.++ D.?
      4、下面有关数据类型的描述中不可能的是(B)
      A. 两个引用类型变量可能引用同一个对象
      B. Bool类型中可以用数字1表示true
      C. Byte类型的取值范围是0~255
      D. 可以通过转义符方式输入字符
      5、下面对protected修饰符说法正确的是(D)
      A. 只能在派生类中访问 B.只能在所属的类中访问
      B. 能在当前应用程序中访问 D.能在所属的类或派生类中访问
      6、以下有关属性说法错误的是(B)
      A. 通过属性能获取类中private字段的数据
      B. 当定义属性时,若包含set访问器,则表示该属性为只读属性
      C. 属性的访问形式是“对象名.属性名”
      D. 属性体现了对象的封装性

      第四章
      1.若在TextBox控件中输入内容并当焦点离开时触发TextChanged事件,则应设置(AutoPostBack=“True”)
      2.通过(IsPostBack)属性可以判断页面是否第一次载入。
      3.ASP.NET的服务器包括(HTML服务器控件)和(Web服务器控件)。
      4.添加(runat=”server“)属性可以将XHTML元素转化为HTML服务器控件。
      5.设置(Enable)属性可决定Web服务器控件是否可用。
      6.当需要将TextBox控件作为密码输入框时,应设置(TextMode=“Password”)。
      7.对使用数据源显示信息的Web服务器控件,当设置完控件的DataSource属性后,需要(DateBind())方法才能显示信息。
      8.如果需要将多个单独的RadioButton控件形成一组具有RadioButtonList控件的功能,可以通过将(GroupName)属性设置成相同的值实现。
      9.设置(SelectionMode=“Multiple”)可以实现ListBox控件中选择多项的功能。

      判断题。
      1.单击Button类型控件会形成页面往返处理。(√)
      2.当页面往返时,在触发控件的事件之前会触发Page.Load事件。(√)
      3.不能再服务器端访问HTML服务器控件。(×)
      4.动态生成的控件可以直接通过其ID属性值进行访问。(×)ID值会被改变
      5.Panel控件能实现在同一个页面中 显示不同内容的效果(√)

      选择题
      1.Web服务器控件不包括(B)
      A.Table B.Input C.AdRotator D.Calendar
      2.下面的控件中不能响应鼠标单击事件的是(C)
      A.ImageButton B.ImageMap C.Image D.LinkButton
      3.单击Button类型控件后能执行客户端脚本的属性是(A)
      A.OnClientClick B.OnClick C.OnCommandClick D.OnClientCommand
      4.当需要控件输入性别时,应选择的控件是(D)
      A.CheckBox B.CheckBoxList C.Label D.RaidoButoonList
      5.下面不属于容器控件的是(B)
      A.Panel B.CheckBox C.Table D.PlaceHolder

      第五章
      1.窗体验证包括(客户端验证)和(服务器端验证)两种形式
      2.判断页面的(Page.IsValid)属性值可以确定整个页面验证是否通过。
      3.若页面中包含验证控件,可设置按钮的(CausesVa1idation=“false”)属性,使得单击该按钮后不会引发验证过程。
      4.若要对页面中包含的控件分成不同的组进行验证,则应将这些控件的(ValidationGroup)属性设置为相同的值。
      5.通过正则表达式定义验证规则的控件是(RegularExpressionValidator)。
      6.设置(ControltoValidate)属性指定被验证控件的ID。

      判断题。
      1.如果客户端禁用JavaScript,则验证必须采用服务器端形式。(√)
      2.服务器端验证是为了保证给用户较快的响应速度(×)
      3.要执行客户端验证必须设置验证控件的EnableClientScript属性值为True(√)
      4.CompareValidator控件不能用于验证数据类型。(×)
      5使用CompareValidator控件时,可同时设置ControlToCompare和ValueToCompare属性的值(×)
      6.CustomValidator控件的ServerValidate事件只有在页面上所有其他验证控件都通过验证后才可能被触发(×)

      选择题

      1.下面对ASP.NET验证控件的说法正确的是(A)
      A.可以在客户端直接验证用户输入的信息并显示错误信息。(因为是验证控件,所以能够在控件中就验证完毕,在客户端)
      B.对一个下拉列表控件不能使用验证控件。
      C.服务器验证控件在执行验证时必定在服务器端执行。
      D.对验证控件,不能自定义规则。

      2.下面对CustomValidator控件说法错误的是(D)
      A.能使用自定义的验证函数。
      B.可以同时添加客户端验证函数和服务器端验证函数。
      C.指定客户端验证的属性是ClientValidationFunction。
      D.runat属性用来指定服务器端验证函数。(ServerValidator属性)

      3.使用ValidatorSummary控件需要以对话框形式显示错误信息,则应(B)

      A.设置ShowSummary属性值为true。
      B.设置ShowMessage属性值为true。
      C.设置 ShowSummary属性值为 false。
      D.设置ShowMessage属性值为False。

      4.如果需要确保用户输入大于100的值,应该使用(C)

      A.ReuqiredValidator。

      B.RangeValidator。

      C.CompareValidator。

      D.RegularExpressionValidator。

      第六章
      1.从http://10.200.1.23/Custom.aspx?ID=4703 中获取ID值的方法是(Request.QuerryString【“ID”】)
      2.要获取客户端ID地址,可以使用(Request.ServerVariables【“Remote_ADDR”】)
      3.终止ASP.NET页面执行可以使用(Response.End())
      4.要获取Default.aspx页面的物理路径可以使用(Server.MapPath(“default.aspx))
      5.状态管理具有(客户端)和(服务器端)两种方式。
      6.设置Button类型控件的(PostBackUrl)属性值可以在单击按钮后跳转到相应页面。
      7.Session对象启动时会自动执行(Session_Start())
      8.设置会话有效时间为10分钟的语句是(Session.TimeOut=10)
      9.若浏览器已禁用Cookie,要有效的识别用户可以在(WebConfig)中加入()
      10.要对Application状态变量值修改之前应使用(Application.Lock())

      判断题

      1.判断IsCrossPagePostBack属性的值可确定是否属于跨页面提交(√)
      2.Application状态可由网站所有用户进行更改(√)
      3.使用HTML控件时将不能保持VieState状态(√)(因为ViewState控件是维持窗口状态的,因此使用HTML5控件时会更改状态)
      4.ViewState状态可以在网站的不同页面间共享(×)
      5.Session状态可以在同一会话的不同页面间共享(√)
      6.当关闭浏览器窗口时,Session_End()方法代码立即被执行(×)(在会话结束的时候就被关闭了)

      选择题

      1.要重定向页面,不能使用(C)
      A.LinkButton控件
      B.HttpResponse.Redirect()方法
      C.Image控件
      D.HttpServerUtility.Transfer()方法

      2.下面的(A)对象可以获取从客户端浏览器提交的信息
      A.HttpRequest
      B.HttpResponse
      C.HttpSessionState
      D.HttpApplication

      3.Session状态和Cookie状态的最大区别是(A)
      A.存储的位置不同
      B.类型不同
      C.生命周期不同
      D.容量不同

      4.默认情况下,Session状态的有效时间是(C)
      A.30秒
      B.10分钟
      C.20分钟
      D.30分钟

      5.若某页面已添加一个Label控件lblMsg,则执行“lblMsg.Text="<a href=“http://www.microsoft.com”>微软""语句后,页面上显示的内容是(C)
      A.<a href=“http://www.microsoft.com”>微软
      B.微软
      C.以超链接形式显示“微软”
      D.程序出错

      第七章
      1.SQL Server数据库的验证方式包括(Windows验证)和(SQL Server验证)
      2.连接数据库的信息通常保存在Web.Config文件的()元素中
      3.VSC 2017中,若要访问LocalDB数据库实例,则需将Data Source 属性值设置为(“(LocalDB)\MSSQLLocalDB”)
      4.连接字符串中常使用(|DataDirectory|)表示网站的App_Data文件夹。
      5.基于VSC2017 的ASP.NET提供的数据源控件包括(LinqDataSource),(EntityDataSource),(ObjectDataSource),(SiteMapDataSource),(SqlDataSource),(XmlDataSource)
      6.根据要访问的不同数据源,LINQ类型可分为(LinQtoObjects),(LinQtoXml),(LinQ to Dataset),(LinQ to SQL)
      7.在LINQtoSQL中,将SQL Server数据库映射为(DataContext)类,表映射为(实体类),存储过程映射为(方法)。

      判断题

      1.包含LocalDB数据库的ASP.NET网站不需要修改配置就能发布到IIS 7.5中并正常运行(×)
      2.经过配置,使用访问SQLEXPRESS数据库实例的方法能访问LocalDB数据库实例(√)
      3.访问LocalDB和SQLEXPRESS数据库实例的连接字符串是一样的(×)
      4.利用LINQ查询表达式可建立匿名对象(√)
      5.LINQ查询表达式的值必须要指定数据类型(×)
      6.在LINQ查询中使用group字句分组后,气结果集合与原集合的结构相同(×)(结构已经发生了不同)
      7.VSC2017中建立的数据库可以通过“服务器资源管理器"窗口进行管理。(√)

      选择题
      1.下面有关在VSC2017中建立数据库的描述中错误的是(A)
      A.数据库的默认排序规则是Chinese_PRC_CS_AS.
      B.数据库默认属于LocalDB数据库实例
      C.在使用CREATE DATABASE 语句建立数据库时可指定排序规则
      D.能将数据库附加到SQLEXPRESS数据库服务器中

      2.下面有关LINQtoSQL的描述中错误的是(B)
      A.LINQtoSQL查询返回的结果是一个集合
      B.LINQtoSQL 可处理任何类型数据
      C.利用LINQtoSQL要调用SQL Server 中定义的存储过程只需调用映射后的方法
      D.LINQtoSQL中聚合方法的参数常使用Lambda表达式

      3.下面有关LINQtoXML的描述中错误的是(C)
      A.可插入,修改,删除,查询元素
      B.可读取整个XML文档
      C.不能创建XML文档
      D.需要导入System.XML.Linq命名空间

      第八章
      1.数据绑定控件通过(DataSourceID)属性与数据源控件实现绑定
      2.数据绑定控件通过(DataSource)属性与LINQ查询返回的结果实现绑定
      3.ListControl类控件中(AppendDataBoundItems)属性用于将数据绑定项追加到静态声明的列表上。
      4.GridView的(AllowPaging)属性确定是否分页。
      5.在自定义GridView的数据绑定列时,必须设置(AutoGenerateColumns)属性值为False
      6.若设置了ImageField列的属性 DataImageUrlFormatString=“~/Pic/{0}”,其中的{0}由(DataImageField)属性值绑定
      7.模板列中实现数据绑定时,(Eval())方法用于单向绑定,(Bind())方法用于双向绑定。
      8.实现不同页显示主从表常利用(查询字符串)传递数据。

      判断题
      1.需要调用Page.DataBind()方法才能在页面上使用<%#loginNmae%>显示loginName变量值(√)
      2.GridView中内置了插入数据的功能。(×)(添加,修改,删除)
      3.在模板列中可添加任何类型的控件(×)
      4.模板列中的绑定方法必须写成<%Eval(“Name”)%>或<%Bind(“Name”)%>形式(×)(少了#号)
      5.经过设置,DetailsView能同时显示多条记录(×)(单条记录)

      选择题

      1.如果希望在GridView中显示“上一页”和“下一页”的导航栏,则PageSettings属性集合中的Mode属性值应设为(B)
      A.Numeric
      B.NextPrevious
      C.Next Prev
      D.上一页,下一页

      2.如果要对定数据列后的GridView实现排序功能,除设置GridView的AllowSorting属性值为True外,还应设置(A)属性
      A.SortExpression
      B.Sort
      C.SortField
      D.DataFieldText

      3.利用GridView和DetailsView显示主从表数据时,DetailsView中插入了一条记录需要刷新GridView,则应把GridView中DataBind()方法的调用置于(D)事件处理代码中。
      A.GridView的ItemInserting
      B.GridView的ItemInserted
      C.DetailsView的ItemInserting
      D.DetailsView的ItemInserted

      展开全文
    • Web.asp程序设计课后习题答案(沉士根版).doc
    • 选择,是非和填空。。。。课后习题,希望大家喜欢
    • Web程序设计--ASP.NET实用网站开发 课后习题答案
    • Web.asp程序设计课后习题答案(沈士根版).pdf
    • 计算机二级《Web程序设计》基础习题及答案练习题一1下列语句中,正确打开名为“window2"的新窗口的JavaScript语句是( )。A.open.new("http://www.sina.COB.cn","window2")B.new.window("http://www.sina.con.cn"...

      计算机二级《Web程序设计》基础习题及答案

      练习题一

      7c918a83e7035c1ba194f27a0830e48d.png

      1下列语句中,正确打开名为“window2"的新窗口的JavaScript语句是(  )。

      A.open.new("http://www.sina.COB.cn","window2")

      B.new.window("http://www.sina.con.cn","window2")

      C.new("http://www.sina.com.cn","window2")

      D.window.open("http://www.sina.tom.cn","window2")

      参考答案:D

      2下面协议中用于在Web浏览器和服务器之间传输Web文档的是(  )。

      A.NFSB.FTPC.HTTPD.DNS

      参考答案:C

      3在HTTP响应的MIME消息体中,可以同时包含如下类型的数据(  )。

      i .文本数据 ii.图片数据 iii.视频数据 iv.音频数据

      A.仅iB.i和iiC.i、ii和iiiD.全都可以

      参考答案:D

      4HTTP协议是一种(  )协议。

      A.文件传输协议B.邮件协议C.远程登录协议D.超文本传输协议

      参考答案:D

      5在HTML文档中使用的注释符号是(  )。

      A.//…B./*……*/C.D.以上说法均错误

      参考答案:C

      6HTTP请求消息中可以不包含(  )。

      i.开始行 ii.消息头iii.消息体实体数据

      A.仅iB.i和iiC.ii和 iiiD.仅iii

      参考答案:C

      7下列技术中控制文档结构的是(  )。

      A.DOMB.CSSC.JavaScriptD.XMLHttpRequest

      参考答案:A

      8下列语言编写的代码中,在浏览器端执行的是(  )。

      A.wt h页面中的c#代码

      B.Web页面中的Java代码

      C.Web页面中的PHP代码

      D.Web页面中的JavaScript代码

      参考答案:D

      9在HTTP/1.1协议中,持久连接选项是(  )的。

      A.默认关闭B.默认打开C.不可协商D.以上都不对

      参考答案:B

      10以下不是HTTP协议的特点的是(  )。

      A.持久连接B.请求/响应模式C.只能传输文本数据D.简单、高效

      参考答案:C

      展开全文
    • Web程序设计(第三版)课后答案

      千次阅读 2020-06-04 18:51:53
      Web程序设计(第三版)课后习题答案 第一章 一、填空题: 1、NET Framework 主要包括 (CLR)和(.NET Framework类库) 2、ASP.NET网站在编译时,首先将语言代码编译成 (微软中间语言MSIL) 3、一台IIS Web服务器为...

      Web程序设计(第三版)课后答案

      第一章

      一、填空题:
      1、NET Framework 主要包括 (CLR)和(.NET Framework类库)
      2、ASP.NET网站在编译时,首先将语言代码编译成 (微软中间语言MSIL)
      3、一台IIS Web服务器为211.78.60.19,网站端口号为8000,则要访问Web应用程序User中Default.aspx的URL为(http://211.78.60.19:8000/user/Default.aspx)
      4、可以通过复制网站同步网站上的一个文件
      5、ASP.NET的开发模式包括(ASP.NET Web窗体)、(ASP.NET MVC)、(ASP.NET Core)
      6、ASP.NET编译模式包括(预编译)和(即时编译)

      二、判断题:
      1、托管代码是以CLR为基础的代码(√)
      2、若某页面上包含动画内容,则该页面肯定是动态页面(×)
      3、一个网站中可以同时包含静态页面和动态页面(√)
      4、ASP.NET页面是边解释边执行的(×)
      5、在VSC 2017中开发网站必须安装独立的IIS(×)
      6、IIS Express具有与IIS类似的功能,但主要用于VSC 2017中的页面浏览(√)
      7、IIS 中的网站与VSC 2017中的网站是相同的概念(×)
      8、ASP.NET MVC支持在Windows、Mac和Linux等操作系统上实现跨平台开发的部署(√)
      9、Web应用程序开发完成后,可以将其开发环境部署到Microsoft Azure(√)

      三、选择题:
      1、Web应用程序不包括(A)
      A.HTTP B.Web部署 C.Web Deploy包 D.文件系统
      2、下面说法错误的是(D)
      A.”复制网站”常用于将网站从“测试服务器”复制到“商业服务器”
      B.”复制网站”实质是在当前网站与另一网站之间复制文件
      C.“发布Web应用”能对当前网站预编译
      D.”复制网站”能对当前网站预编译
      3、以下选项不包括编程语言的是(A)
      A.ASP.NET B.Python C.Visual C# D.Java

      第二章

      一、填空题:
      1、VSC2017默认建立的XHTML文件的类型是(XHTML5)
      2、利用XHTML建立一个链接到jast@126.com邮箱的元素是(…)
      3、页面中的空格用(&nbsp;)表示
      4、存放Web窗体页C#代码的模型有单文件页模型和(代码隐藏页模型)
      5、实现页面3s自动刷新一次的元素是()
      6、在单文件页模型中,C#代码必须包含于()
      7、代码隐藏页模型通过(CodeFile属性和 Inherits属性)将aspx文件和对应的.aspx.cs文件联系起来
      8外部样式表通过()元素链接到页面
      9、XML主要用于(传输和存储数据)
      10、Global.asax文件用于包含响应(应用程序级别)和(会话级别)事件的代码
      11、Bootstrap 以(移动设备优先)为设计理念,完全体现响应式设计思想,式目前用于(Web前端设计)的主流框架

      二、是非题:
      1、XHTML是HTML的子集(×)
      2、XHTML中每个元素都有结束标记(√)
      3、在元素中可设置能被搜索引擎检索到的关键词(√)
      4、[attr~=val]{…}选择attr属性值中包含val值的元素(√)
      5、.html文件不需要编译,直接从web服务器下载到浏览器执行即可(√)
      6、类选择器在定义时要加前缀#(×)
      7、JavaScript代码必须包含在

      三、选择题:
      1、CSS选择器不包括(D)
      A. 元素选择器 B.属性选择器 C.id选择器 D.文件选择器
      2、下面(B)是静态页面的扩展名
      A. .asp B. .html C. .aspx D. .jsp
      3、APP_Code文件夹用来储存(C)
      A.数据库文件 B.共享文件 C.代码文件 D.主题文件
      4、Web.config文件不能用于(A)
      A.Application事件处理代码的定义 B.数据库连接字符串的定义
      C.对文件夹的访问权限 D.自定义应用程序的配置
      5、响应式设计通过设置元素的name属性值为(A)来实现
      A.viewport B.keywords C.description D.generator
      第三章
      一、填空题:
      1、C#使用的类库就是(.NET Framework)提供的类库
      2、要在一个类中包含System.Data 命名空间的语句是(using system.Data)
      3、使用(Static)修饰符能调用未实例化的类中方法
      4、C#中的数据类型包括(值类型)和(引用类型)
      5、(枚举类型)是由一组命名常量组成的类型
      6、在C#统一类型系统中所有类型都是直接或间接的从(System.Object)类继承
      7、装箱实质是把值类型转换为对象类型
      8、至少会执行一次循环的语句是(do-while语句)
      9、较适用于已知循环次数的循环语句是(for语句)
      10、如果类名为UserInfo,那么它的构造函数名为(UserInfo)
      11、(继承)可以重用现有类的数据和行为,并扩展新的功能

      二、判断题:
      1、decimal类型必须在数据末添加M或m,否者编译器以double类型处理(√)
      2、访问结构中成员的方式通常使用“结构名.成员名”形式(√)
      3、枚举类型的变量可能同时取到枚举中的两个元素的值(×)
      4、数组可以由一组数据类型不相同的元素组成(×)
      5、foreach语句适用于枚举组中的元素(√)
      6、当一个类实例化,它的构造函数中包含的代码肯定会执行(√)

      三、选择题:
      1、下列数据类型属于值类型的是(A)
      A. struct B.class C.interface D.delegate
      2、下列数据类型属于引用类型的是(C)
      1、bool B.char C.string D.enum
      3、下列运算符中(D)
      A. >>= B.&& C.++ D.?
      4、下面有关数据类型的描述中不可能的是(B)
      A. 两个引用类型变量可能引用同一个对象
      B. Bool类型中可以用数字1表示true
      C. Byte类型的取值范围是0~255
      D. 可以通过转义符方式输入字符
      5、下面对protected修饰符说法正确的是(D)
      A. 只能在派生类中访问 B.只能在所属的类中访问
      B. 能在当前应用程序中访问 D.能在所属的类或派生类中访问
      6、以下有关属性说法错误的是(B)
      A. 通过属性能获取类中private字段的数据
      B. 当定义属性时,若包含set访问器,则表示该属性为只读属性
      C. 属性的访问形式是“对象名.属性名”
      D. 属性体现了对象的封装性

      第四章
      1.若在TextBox控件中输入内容并当焦点离开时触发TextChanged事件,则应设置(AutoPostBack=“True”)
      2.通过(IsPostBack)属性可以判断页面是否第一次载入。
      3.ASP.NET的服务器包括(HTML服务器控件)和(Web服务器控件)。
      4.添加(runat=”server“)属性可以将XHTML元素转化为HTML服务器控件。
      5.设置(Enable)属性可决定Web服务器控件是否可用。
      6.当需要将TextBox控件作为密码输入框时,应设置(TextMode=“Password”)。
      7.对使用数据源显示信息的Web服务器控件,当设置完控件的DataSource属性后,需要(DateBind())方法才能显示信息。
      8.如果需要将多个单独的RadioButton控件形成一组具有RadioButtonList控件的功能,可以通过将(GroupName)属性设置成相同的值实现。
      9.设置(SelectionMode=“Multiple”)可以实现ListBox控件中选择多项的功能。

      判断题。
      1.单击Button类型控件会形成页面往返处理。(√)
      2.当页面往返时,在触发控件的事件之前会触发Page.Load事件。(√)
      3.不能再服务器端访问HTML服务器控件。(×)
      4.动态生成的控件可以直接通过其ID属性值进行访问。(×)ID值会被改变
      5.Panel控件能实现在同一个页面中 显示不同内容的效果(√)

      选择题
      1.Web服务器控件不包括(B)
      A.Table B.Input C.AdRotator D.Calendar
      2.下面的控件中不能响应鼠标单击事件的是(C)
      A.ImageButton B.ImageMap C.Image D.LinkButton
      3.单击Button类型控件后能执行客户端脚本的属性是(A)
      A.OnClientClick B.OnClick C.OnCommandClick D.OnClientCommand
      4.当需要控件输入性别时,应选择的控件是(D)
      A.CheckBox B.CheckBoxList C.Label D.RaidoButoonList
      5.下面不属于容器控件的是(B)
      A.Panel B.CheckBox C.Table D.PlaceHolder

      第五章
      1.窗体验证包括(客户端验证)和(服务器端验证)两种形式
      2.判断页面的(Page.IsValid)属性值可以确定整个页面验证是否通过。
      3.若页面中包含验证控件,可设置按钮的(CausesVa1idation=“false”)属性,使得单击该按钮后不会引发验证过程。
      4.若要对页面中包含的控件分成不同的组进行验证,则应将这些控件的(ValidationGroup)属性设置为相同的值。
      5.通过正则表达式定义验证规则的控件是(RegularExpressionValidator)。
      6.设置(ControltoValidate)属性指定被验证控件的ID。

      判断题。
      1.如果客户端禁用JavaScript,则验证必须采用服务器端形式。(√)
      2.服务器端验证是为了保证给用户较快的响应速度(×)
      3.要执行客户端验证必须设置验证控件的EnableClientScript属性值为True(√)
      4.CompareValidator控件不能用于验证数据类型。(×)
      5使用CompareValidator控件时,可同时设置ControlToCompare和ValueToCompare属性的值(×)
      6.CustomValidator控件的ServerValidate事件只有在页面上所有其他验证控件都通过验证后才可能被触发(×)

      选择题

      1.下面对ASP.NET验证控件的说法正确的是(A)
      A.可以在客户端直接验证用户输入的信息并显示错误信息。(因为是验证控件,所以能够在控件中就验证完毕,在客户端)
      B.对一个下拉列表控件不能使用验证控件。
      C.服务器验证控件在执行验证时必定在服务器端执行。
      D.对验证控件,不能自定义规则。

      2.下面对CustomValidator控件说法错误的是(D)
      A.能使用自定义的验证函数。
      B.可以同时添加客户端验证函数和服务器端验证函数。
      C.指定客户端验证的属性是ClientValidationFunction。
      D.runat属性用来指定服务器端验证函数。(ServerValidator属性)

      3.使用ValidatorSummary控件需要以对话框形式显示错误信息,则应(B)

      A.设置ShowSummary属性值为true。
      B.设置ShowMessage属性值为true。
      C.设置 ShowSummary属性值为 false。
      D.设置ShowMessage属性值为False。

      4.如果需要确保用户输入大于100的值,应该使用(C)

      A.ReuqiredValidator。

      B.RangeValidator。

      C.CompareValidator。

      D.RegularExpressionValidator。

      第六章
      1.从http://10.200.1.23/Custom.aspx?ID=4703 中获取ID值的方法是(Request.QuerryString【“ID”】)
      2.要获取客户端ID地址,可以使用(Request.ServerVariables【“Remote_ADDR”】)
      3.终止ASP.NET页面执行可以使用(Response.End())
      4.要获取Default.aspx页面的物理路径可以使用(Server.MapPath(“default.aspx))
      5.状态管理具有(客户端)和(服务器端)两种方式。
      6.设置Button类型控件的(PostBackUrl)属性值可以在单击按钮后跳转到相应页面。
      7.Session对象启动时会自动执行(Session_Start())
      8.设置会话有效时间为10分钟的语句是(Session.TimeOut=10)
      9.若浏览器已禁用Cookie,要有效的识别用户可以在(WebConfig)中加入()
      10.要对Application状态变量值修改之前应使用(Application.Lock())

      判断题

      1.判断IsCrossPagePostBack属性的值可确定是否属于跨页面提交(√)
      2.Application状态可由网站所有用户进行更改(√)
      3.使用HTML控件时将不能保持VieState状态(√)(因为ViewState控件是维持窗口状态的,因此使用HTML5控件时会更改状态)
      4.ViewState状态可以在网站的不同页面间共享(×)
      5.Session状态可以在同一会话的不同页面间共享(√)
      6.当关闭浏览器窗口时,Session_End()方法代码立即被执行(×)(在会话结束的时候就被关闭了)

      选择题

      1.要重定向页面,不能使用(C)
      A.LinkButton控件
      B.HttpResponse.Redirect()方法
      C.Image控件
      D.HttpServerUtility.Transfer()方法

      2.下面的(A)对象可以获取从客户端浏览器提交的信息
      A.HttpRequest
      B.HttpResponse
      C.HttpSessionState
      D.HttpApplication

      3.Session状态和Cookie状态的最大区别是(A)
      A.存储的位置不同
      B.类型不同
      C.生命周期不同
      D.容量不同

      4.默认情况下,Session状态的有效时间是(C)
      A.30秒
      B.10分钟
      C.20分钟
      D.30分钟

      5.若某页面已添加一个Label控件lblMsg,则执行“lblMsg.Text=“微软”"语句后,页面上显示的内容是(C)
      A.
      微软
      B.微软
      C.以超链接形式显示“微软”
      D.程序出错

      第七章
      1.SQL Server数据库的验证方式包括(Windows验证)和(SQL Server验证)
      2.连接数据库的信息通常保存在Web.Config文件的()元素中
      3.VSC 2017中,若要访问LocalDB数据库实例,则需将Data Source 属性值设置为(“(LocalDB)\MSSQLLocalDB”)
      4.连接字符串中常使用(|DataDirectory|)表示网站的App_Data文件夹。
      5.基于VSC2017 的ASP.NET提供的数据源控件包括(LinqDataSource),(EntityDataSource),(ObjectDataSource),(SiteMapDataSource),(SqlDataSource),(XmlDataSource)
      6.根据要访问的不同数据源,LINQ类型可分为(LinQtoObjects),(LinQtoXml),(LinQ to Dataset),(LinQ to SQL)
      7.在LINQtoSQL中,将SQL Server数据库映射为(DataContext)类,表映射为(实体类),存储过程映射为(方法)。

      判断题

      1.包含LocalDB数据库的ASP.NET网站不需要修改配置就能发布到IIS 7.5中并正常运行(×)
      2.经过配置,使用访问SQLEXPRESS数据库实例的方法能访问LocalDB数据库实例(√)
      3.访问LocalDB和SQLEXPRESS数据库实例的连接字符串是一样的(×)
      4.利用LINQ查询表达式可建立匿名对象(√)
      5.LINQ查询表达式的值必须要指定数据类型(×)
      6.在LINQ查询中使用group字句分组后,气结果集合与原集合的结构相同(×)(结构已经发生了不同)
      7.VSC2017中建立的数据库可以通过“服务器资源管理器"窗口进行管理。(√)

      选择题
      1.下面有关在VSC2017中建立数据库的描述中错误的是(A)
      A.数据库的默认排序规则是Chinese_PRC_CS_AS.
      B.数据库默认属于LocalDB数据库实例
      C.在使用CREATE DATABASE 语句建立数据库时可指定排序规则
      D.能将数据库附加到SQLEXPRESS数据库服务器中

      2.下面有关LINQtoSQL的描述中错误的是(B)
      A.LINQtoSQL查询返回的结果是一个集合
      B.LINQtoSQL 可处理任何类型数据
      C.利用LINQtoSQL要调用SQL Server 中定义的存储过程只需调用映射后的方法
      D.LINQtoSQL中聚合方法的参数常使用Lambda表达式

      3.下面有关LINQtoXML的描述中错误的是(C)
      A.可插入,修改,删除,查询元素
      B.可读取整个XML文档
      C.不能创建XML文档
      D.需要导入System.XML.Linq命名空间

      第八章
      1.数据绑定控件通过(DataSourceID)属性与数据源控件实现绑定
      2.数据绑定控件通过(DataSource)属性与LINQ查询返回的结果实现绑定
      3.ListControl类控件中(AppendDataBoundItems)属性用于将数据绑定项追加到静态声明的列表上。
      4.GridView的(AllowPaging)属性确定是否分页。
      5.在自定义GridView的数据绑定列时,必须设置(AutoGenerateColumns)属性值为False
      6.若设置了ImageField列的属性 DataImageUrlFormatString=“~/Pic/{0}”,其中的{0}由(DataImageField)属性值绑定
      7.模板列中实现数据绑定时,(Eval())方法用于单向绑定,(Bind())方法用于双向绑定。
      8.实现不同页显示主从表常利用(查询字符串)传递数据。

      判断题
      1.需要调用Page.DataBind()方法才能在页面上使用<%#loginNmae%>显示loginName变量值(√)
      2.GridView中内置了插入数据的功能。(×)(添加,修改,删除)
      3.在模板列中可添加任何类型的控件(×)
      4.模板列中的绑定方法必须写成<%Eval(“Name”)%>或<%Bind(“Name”)%>形式(×)(少了#号)
      5.经过设置,DetailsView能同时显示多条记录(×)(单条记录)

      选择题

      1.如果希望在GridView中显示“上一页”和“下一页”的导航栏,则PageSettings属性集合中的Mode属性值应设为(B)
      A.Numeric
      B.NextPrevious
      C.Next Prev
      D.上一页,下一页

      2.如果要对定数据列后的GridView实现排序功能,除设置GridView的AllowSorting属性值为True外,还应设置(A)属性
      A.SortExpression
      B.Sort
      C.SortField
      D.DataFieldText

      3.利用GridView和DetailsView显示主从表数据时,DetailsView中插入了一条记录需要刷新GridView,则应把GridView中DataBind()方法的调用置于(D)事件处理代码中。
      A.GridView的ItemInserting
      B.GridView的ItemInserted
      C.DetailsView的ItemInserting
      D.DetailsView的ItemInserted

      展开全文
    • Web程序设计--ASP.NET实用网站开发课后填空题,是非题,选择题答案
    • Java Web 程序设计任务教程 ...Java Web程序设计任务教程 黑马程序员为编著的,人民邮电出版社出版,里面的源码、课件、大纲、课后习题答案、补充案例,在博学谷下载的所有资源 源码 课件 大纲 课后习题答案 补充案例
    • 都是我自己写的,没有侵权。
    • Java Web程序设计任务教程 黑马程序员为编著的,人民邮电出版社出版,里面的源码、课件、大纲、课后习题答案、补充案例,在博学谷下载的所有资源
    • Web程序设计—— ASP.NET实用网站开发课后习题答案(沈士根版)
    • 程序设计教程课后答案 篇一 web.asp 程序设计课后习题答案 (沈士根版 ) /p> 1.net framework 主要包括 公共语言运行库clr 和类库 2 网站在编译时首先将语言代码编译成 微软中间语言 msil 3一台 iis web 服务器 ip ...
    • 程序设计教程课后答案 篇一 web.asp 程序设计课后习题答案 沈士根版 /p> 1.net framework 主要包括 公共语言运行库 clr 和 类库 2 网站在编译时首先将语言代码编译成 微软中间语言 msil 3一台 iis web 服务器 ip ...
    • 希望对大家有用,才发现csdn给个评价是把分值还给你的
    • 一 选择题 1 B 是用于创建 Web 应用程序的平台此应用程序可使用 IIS 和.NET Framework 在Windows 服务器上运行 A. C# B. C. Visual D. Visual 2 下面不属于 的功能的是 D A. 多语言支持 B.代码编译执行 C. 缓存机制 ...
    • Web考试复习资料 第一章 1. 填空 (1.NET Framework 主要包括 公共 言运行 (CLR) 和 (2) 网站在 首先将 言代 成 MSIL 微 中 言 (3) 一台 IIS Web 服 器 IP 地址 9 网站端口 8000 要 Web 用程 序 User 中 Default.aspx...
    • Web考试复习资料 第一章 填空题 (1.NET Framework 主要包括 公共语言运行库 (CLR) 和 类库 网站在编译时首先将语言代码编译成MSIL 微软中间语言 一台 IIS Web服务器 IP 地址为网站端口为 8000则要访问 Web应用程序 ...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 3,010
    精华内容 1,204
    关键字:

    web程序设计课后答案