accp6.0 s2《JSP/Servlet/Ajax技术》学习笔记

来源:互联网 发布:真丝睡衣品牌 知乎 编辑:程序博客网 时间:2024/05/12 18:05
ch1-动态网页开发基础总结:动态网页是指在服务器端运行的程序或网页,它们会随不同客户、不同时间、返回不同的内容。
B/S架构是对C/S架构的一种变化或者改进的结构;在这种结构下,程序完全放在应用服务器上,通过应用服务器同数据库服务器进行通信。
URL,是Uniform Resource Locator的缩写,意为统一资源定位符,也称网页地址,是互联网标准的资源地址。
URL组成:协议、主机名(有时包含端口号)、路径
Web应用的核心文件是web.xml文件,位于WEB-INF文件目录下,该文件目录不允许外部用户访问。
通过修改web.xml文件可以实现对web应用的配置
手动部署web应用步骤:
1.创建应用页面。
2.在tomcat目录的webapps目录下创建应用文件目录,遵循web应用目录的结构。
3.将创建的页面复制到应用目录下。
4.启动tomcat服务,在浏览器访问
ch1选择题
1.如果做动态网站的开发,JSP可以作为服务器端脚本语言
2.在设计Web项目的目录结构时,一般把JSP和HTML文件放在文档根目录或其子文件夹下
3.在Web项目的目录结构中,web.xml文件位于WEB-INF目录
4.下面对于B/S架构与C/S架构的描述错误的是B/S取代C/S因为B/S架构是对C/S架构的一种改进,B/S的优势是维护和升级方便,用户访问范围更大,而劣势是界面没有C/S友好。
ch2-Hello JSP!总结:JSP技术是指在HTML中嵌入Java脚本语言,然后由应用服务器中的JSP引擎来编译和执行,之后再将生成的结果返回给客户端。
Web容器处理JSP文件请求需要经过三个阶段。
翻译阶段。JSP文件会被Web容器中的JSP引擎转换成Java源码。
编译阶段。Java源码会被编译成可执行的字节码。
执行阶段。容器接受了客户端的请求后,执行编译成 字节码的JSP文件。处理完请求后,容器把生成的页面反馈给客户端进行显示。
WEB容器(如Tomcat)提供JSP引擎,负责JSP文件的执行,提供JSP的运行时环境。
JSP页面由静态内容、指令、表达式、小脚本、声明、标准动作、注释等元素构成。
所谓内置对象就是由Web容器加载的一组类的实例,不需要使用“new”关键字去获取实例。
request对象主要用于处理客户端的请求。
ch2选择题
1.JS页面<%="2"+"4"%>输出24
2.page指令<%@ page import="java.util.*,java.text.*"%>等价于
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
3.<%="hello world" %>是正确的表达式
4.request.getParameter("sex");获取提交页面标签名为sex的值
5.JSP内置对象request的getParameterValues()方法返回值类型是String[]
ch3-JSP数据交互总结:
response对象与request对象相对应,它用于响应客户请求并向客户端输出信息。
response对象的sendRedirect()方法用于将请求重定向到一个不同的URL上。
重定向在客户端发挥作用,通过浏览器重新请求地址,通过新的地址实现页面转向,在地址栏中可以显示转向后的地址,不能共享request范围内的数据。
转发在服务器端发挥作用,指在服务器内部控制权的转移,通过forward方法将提交信息在多个页面间进行传递。浏览器的地址栏不会显示出转向后的地址,可以共享request范围内的数据。
使用JSP访问数据库,就是将JDBC访问数据库的代码嵌入到JSP页面中,实现步骤与Java相同。
ch3选择题
1.使用response对象进行重定向,使用sendRedirect()法;
2.对于转发与重定向的描述错误的语句是转发与重定向都可以显示在页面跳转,因而没区别
3.为了避免服务器的响应信息在浏览器显示为乱码,通常使用response.setContentType()和response.setCharacterEncoding()语句重新设置字符编码。
4.在JSP中使用JDBC语句访问数据库,正确导入SQL类库的语句是<%@ page import="java.sql.*" %>
5.在JDBC API中提供的DriverManager类的职责是:依据数据库的不同,管理不同的JDBC驱动程序。
ch4-状态管理总结:
cookie是由服务器端生成,发送给客户端浏览器的,浏览器会将其保存在某个目录下的文本文件中。
通过cookie,可以实现浏览器与服务器之间的数据传递。
就WEB开发来说,一个会话就是用户通过浏览器与服务器之间的一次通话,它包含浏览器与服务器之间的多次请求、响应过程。
session与cookie均能实现信息的保存,但是二者的区别如下。
session是在服务器端保存用户信息,cookie是在客户端保存用户信息。
session中保存的是对象,cookie保存的是字符串。
session对象随会话结束而关闭,cookie可以长期保存在客户端。
cookie通常用于保存不重要的用户信息。我们可以降低代码的冗余问题,并且修改起来也更加方便。
JSP中每个对象都有其特定的范围,范围定义了JSP访问这些对象的原则,在JSP中有四种范围的划分,分别如下。
page范围
request范围
session范围
application范围
ch4选择题
1.把一个用户名jack保存在session对象里的语句session.setAttribute("name","jack");
2.String getStr=session.getAttribute("msg");这段代码需要类型转换。
3.application对象中保存的值存在于整个Web的运行时的整个生命周期。
4.JSP提供了一个可以在多个请求之间持续有效的内置对象session,该对象与浏览器窗口一一对应。
5.在下列选项中,正确创建并实现写入cookie的语句分别是Cookie cookie=new Cookie(String key,Object value);response.addCookie(cookie);
ch5-JSP应用优化总结:
JNDI的全称是Java命名与目录接口(Java Naming and Directory Interface),通过指定一个资源名称,将该名称与某一资源或服务相关联。
数据库连接池以数据源的方式体现,在Tomcat中配置数据源的步骤如下。
(1).配置content.xml文件。
(2).配置web.xml文件。
(3).添加驱动。
(4).进行代码编写,使用lookup()方法获得数据源对象。
JavaBean是在Java中可以跨平台的重要组件。
JavaBean在应用主要负责封装数据和封装业务处理。
JavaBean的定义遵循一定的规则,体现在以下几方面。
(1).公有类,并提供无参的公有的构造方法。
(2).属性私有。
(3).具有公有的访问属性的getter和setter方法。
ch5选择题
1.获取数据源的正确方法是DataSource source=(DataSource)ic.lookup("java:comp/env/jdbc/books");
2.在使用数据源时,数据库驱动程序的Jar文件应放在Tomcat根目录\lib下
3.下面对于连接池描述错误的是:连接池可以自行分配连接,当连接使用完毕后需要通过编码实现正确的关闭。
4.在程序中使用JavaBean可以极大地方便我们进行代码编写,下面对于JavaBean描述正确的是使用JavaBean封装数据时,应当将属性设置为私有。
5.使用JNDI配置数据源对象时,配置的步骤包括见总结
ch6-JSP开发业务应用总结:
使用分页显示数据在方便页面浏览的同时,由于限制数据读取显示的数量,因为减少了与数据库交互时的资源占用。
实现数据分页显示,需要经过的步骤如下。
1.确定每页显示的数据数量。
2.确定分页显示所需的总页数。
3.编写SQL查询语句,实现数据查询。
4.在JSP页面中进行分页显示设置。
SmartUpload组件是实现文件上传功能的免费组件,可以在JSP中实现文件的上传和下载。
SmartUpload组件包括以下特点。
使用简单、方便。
能够全程控制上传的内容。
能够对上传的大小、类型等进行控制。
SmartUpload相关类提供了封装好的用于文件操作的方法,这些类具体如下。
File类:封装了一个上传文件的所有信息。
Files类:表示所有上传文件的集合,借助Files类可以获取上传文件的数目、大小等信息。
Resquest类:com.jspsmart.upload.Request对象用于获取文件上传页面中的表单数据,其作用与JSP内置request对象的功能相同。
SmartUpload类:专门用于处理文件上传和下载,在应用时必须要先调用initialize()进行初始化。
在文件上传表单页面中,需要设置表单属性enctype="multipart/form-data",设置提交方式method="post"。
ch6选择题
1.声明SmartUpload对象的正确方法是SmartUpload su=new SmartUpload();
2.使用下拉列表显示页数不属于分页实现步骤。
3.使用SmartUpload实现文件上传时,关于实现对上传文件类型限制的方法描述正确的是:
使用setAllowedFilesList方法可以指定允许上传的文件类型列表
使用setDeniedFilesList方法可以指定禁止上传的文件类型列表
4.使用SmartUpload实现文件上传时,对于文件大小控制描述正确的是
使用setTotalMaxFileSize方法可以指定允许上传总文件的大小
使用setMaxFileSize方法可以指定允许上传的单个文件的大小
5.使用SmartUpload实现文件上传时,表单设置描述错误的是
使用post或get方式均能实现提交
使用HttpRequest获取表单数据
ch7-使用分层实现业务处理总结:
三层模式是软件架构中最常见的一种分层模式,三层架构具体划分为一下内容。
表示层:用于用户展示与交互。
业务逻辑层:业务逻辑层的主要功能就是提供对业务逻辑处理的封装。
数据访问层:主要实现对数据的保存和读取操作。
搭建三层架构基本框架的步骤如下。
1.搭建表示层
2.搭建业务逻辑层
3.搭建数据访问层
分层开发的优势如下。
职责划分清晰
无损替换
复用代码
降低了系统内部的依赖程度
ch7选择题
1.下面对于分层模式的解释描述错误的是:每一层都应与它下面的各层保持高耦合
2.三层架构是分层模式中最常见的类型,那么在三层架构中不包含:通信层
3.下面对于层与层关系描述错误的是:业务逻辑层收到请求,根据请求的内容执行数据库访问,并将访问结果返回表示层
4.在进行三层开发时,需要遵循一定的指导原则,下面说法错误的是:上层依赖其下层,依赖关系可以跨层
5.使用三层开发的优势不包含:增强了各层之间的依赖程度
ch8-JSTL和EL总结:
EL表达式的语法有两个要素:$和{},二者缺一不可。
EL表达式具有类型无关性,可以使用“.”和"[]"操作符在相应的作用域(page,request,session,application)中取得某个属性的值。
EL表达式提供了pageScope、requestScope、sessionScope、applicationScope、param、paraValues、pageContext等隐式对象。
JSTL核心标签库中常用的标签有如下三类。
通用标签:<c:set><c:out><c:remove>
条件标签:<c:if>
迭代标签:<c:foreach>
EL表达式与JSTL标签结合使用,可以很大程度上减少JSP中嵌入的java代码,有利于程序的维护和扩展。
ch8选择题
1.request不是EL表达式隐含对象
2.以下EL表达式的语法结构正确的是:${user.userName}
3.关于点操作符和"[]"操作符,以下说法不正确的是:${user.name}等价于${user[name]}
4.如果想在JSP页面声明一个名字为name的变量,应该使用:{c:set}
5.如果要遍历一个数组中的所有元素,需要:<c:forEeah>
ch11-Servlet基础总结:
Servlet是一个Java程序,它运行在服务器端,接受和处理用户请求,并做出响应。
Servlet API包含两个包:javax.servlet中包含的类和接口支持通用的不依赖协议的Servlet,javax.servlet.http中的类和接口用于支持HTTP协议的Servlet API.
Servlet的生命周期如下。
加载和实例化
初始化
服务
销毁
web.xml是web项目中的“调度员”,容器根据在URL中访问的Servlet在web.xml文件中进行查找
(查找方式:<servlet-mapping>中<url-pattern>---<servlet-name>-<servlet>中<servlet-name>-<servlet-class>),并调用该Servlet以处理用户的请求。
ch11选择题
1.HttpServletResponse的sendRedirect()方法用于将一个HTTP请求重定向到另一个URL。
2.在Servlet生命周期中,对应服务阶段的方法是:doPost();和service();
3.下列有关Servlet的生命周期,说法不正确的是:在初始化方法init()方法中创建Servlet实例;在销毁阶段,执行destory()方法后系统立刻进行垃圾回收
4.在部署带有Servlet的Java Web程序时,index.html文件不是必需的。
5.在web.xml文件中,描述了一个Servlet,其中<url-pattern>指定了Servlet类的访问路径。
ch12-神奇的Ajax总结:
使用Ajax技术可以通过JavaScript发送请求到服务器,只需要更新局部页面而不需要刷新整个页面。
Ajax并不是全新技术,而是整合了JavaScript,XML和CSS技术后的新的应用方式。
Ajax技术的核心组件是XMLHttpRequest,它可以向服务器发送异步信息,并获取响应。
1.JUnit技术不是Ajax的常用技术。(JUnit是一个Java语言的单元测试 框架)
2.readyState,responseText不是XmlHttpRequest
3.当XMLHttpRequest对象的状态发生改变时调用myCallback函数,下列正确的是xmlHttpRequest.onreadystatechange=myCallback;
4.关于XmlHttpRequest对象的五种状态,下列说法正确的是:表示接受结果完毕
5.不同的HTTP请求响应代码表示不同含义,下面表示请求被接受,但处理未完成的是202.
原创粉丝点击