江苏省自考00898互联网软件应用与开发高频考点重点_第1页
江苏省自考00898互联网软件应用与开发高频考点重点_第2页
江苏省自考00898互联网软件应用与开发高频考点重点_第3页
江苏省自考00898互联网软件应用与开发高频考点重点_第4页
江苏省自考00898互联网软件应用与开发高频考点重点_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江苏省高等教育自学考试00898互联网软件应用与开发高频考点重点汇总(彩色划书版)指定教材:马建红、李学相《JSP应用与开发技术》(第3版)清华大学出版社2019年版江苏省自考大纲:高纲4295南京航空航天大学2024年编【考试形式与试卷结构】项目内容考试方式闭卷、笔试,百分制,60分及格;能力层次识记20%、领会40%、应用40%题型单项选择题、判断改错题、简答题、综合应用题(无填空、名词解释、论述)难易结构易∶较易∶较难∶难≈2∶3∶3∶2考核章节第1—8章、第10章、第11章(第9、12—16章不作考核要求)核心主线Web/HTTP基础→JSP语法与内置对象→Cookie会话→JavaBean/MVC→文件操作→JDBC→Servlet→过滤器监听器一、彩色标注体系与使用方法本汇总严格依据本科目考试大纲及指定教材逐章编写,采用“划书”形式:黄色荧光底纹=必须背记的核心采分词;每条考点前标注〔能力层次〕及可考题型,题型标签颜色如下,可按颜色快速定位、分题型背诵。【单选】蓝色:概念、分类、方法名、接口包名、默认值等客观题考点【判断改错】红色:易混淆命题,须判断正误并改正错误表述【简答】紫色:分条简答,按教材口径列全要点【综合应用】青色:上机/代码类考点,记语法、步骤与典型程序二、复习应考策略黄色荧光=核心采分词;绿框=划书速记/对比。复习主线:JSP本质是Servlet;九大内置对象按作用域记忆;MVC分工;JDBC五步;Servlet生命周期;过滤器链与监听器。综合应用题要动手写代码片段。

第1章JSP与Web技术概论考情导航:HTTP流程、CGI缺点、静/动态网页、B/S、JSP本质、J2EE四层考点1-1Web应用程序开发基础:协议、结构与URL〔领会〕【单选】【判断改错】【简答】【单选】Web应用程序所基于的协议是HTTP(超文本传输协议,HyperTextTransferProtocol),它运行在TCP/IP之上、默认端口80,加密版HTTPS默认端口443。【单选】传统Web应用程序(静态):早期Web由浏览器直接请求服务器上预先存放的静态HTML页面,服务器只负责查找并原样返回文件,内容对所有用户、任何时刻都相同,不含服务器端动态处理。【简答】HTTP通信协议及其流程(请求—响应模型,领会):①浏览器与服务器建立TCP连接;②浏览器发送HTTP请求(请求行+请求头+空行+请求体);③服务器接收、处理并返回HTTP响应(状态行+响应头+空行+响应体,即HTML等资源);④浏览器解析渲染页面;⑤连接关闭(HTTP/1.0默认每次请求后断开,HTTP/1.1默认保持连接keep-alive)。HTTP是无状态(stateless)协议——服务器不保留前后两次请求之间的状态,这正是需要Cookie、Session做会话跟踪的根本原因。【单选】HTTP请求常用方法:GET(请求资源、参数附在URL后、有长度限制、可被收藏缓存)、POST(提交数据、参数在请求体中、无明显长度限制、相对安全)、HEAD、PUT、DELETE等。【单选】CGI(通用网关接口,CommonGatewayInterface):最早的服务器端动态技术,Web服务器为每个请求启动一个独立的CGI进程来处理(常用Perl/C编写)并返回结果。【简答】CGI的工作流程及缺点(领会):流程——浏览器请求→Web服务器为该请求创建(fork)一个CGI进程→CGI程序读取请求、处理(可访问数据库)→生成HTML返回给服务器→进程结束、结果送浏览器。缺点——①每来一个请求就新建一个进程,进程创建/销毁开销大;②并发用户多时系统资源消耗大、响应慢、效率低、扩展性差;③平台相关、移植性差、编程困难。因此后来被Servlet(线程方式)、JSP、ASP、PHP等取代。【简答】客户端与服务器端的作用和角色(领会):客户端(Client,通常是浏览器)——负责向服务器发起请求、接收并解析渲染HTML/CSS/JS、执行客户端脚本、与用户交互;服务器端(Server,Web服务器/应用服务器)——负责监听端口、接收请求、运行服务器端程序、处理业务逻辑、访问数据库、动态生成HTML并响应。二者是请求—响应、多对一的服务关系。【简答】URL的组成(领会):统一资源定位符URL一般格式=协议://主机名(域名/IP)[:端口]/路径/文件名?查询字符串#锚点。例如:8080/book/list.jsp?id=5#top中,http是协议、是主机(域名)、8080是端口、/book/list.jsp是资源路径、id=5是查询参数(QueryString)、#top是页内锚点。【单选】基于Web模式(B/S)的系统结构:浏览器/服务器(Browser/Server)三层——浏览器(表示层)—Web应用服务器(业务逻辑层)—数据库服务器(数据层),区别于传统C/S(客户端/服务器)两层结构。考点1-2静态网页与HTML〔领会〕【单选】【判断改错】【简答】【单选】HTML(超文本标记语言,HyperTextMarkupLanguage):用一套标记标签描述网页结构和内容的语言,由浏览器解释执行,文件扩展名.html/.htm。【简答】HTML文档的基本组成(识记):HTML文档以<html>为根,主要由<head>头部(含<title>标题、meta字符集等,不显示在页面正文)和<body>主体(页面可见内容)两部分组成;典型标签有标题h1-h6、段落p、超链接a、图片img、表格table/tr/td、表单form/input、列表ul/ol/li、div/span、换行br等;标签通常成对出现(开闭标签),属性写在开始标签中。【单选】典型标签:<ahref="url">超链接、<imgsrc=""alt="">图片、<formaction=""method="get/post">表单、<inputtype="text/password/submit/radio/checkbox">表单控件、<table><tr><td>表格。【简答】静态网页HTML技术的不足(领会):①内容固定,不能根据用户、时间、数据库数据动态变化;②无法与用户交互、不能处理表单和业务逻辑;③无法访问服务器数据库;④页面多了维护困难、不能实现个性化;⑤所有计算都不能在服务器端进行,只能做简单呈现,故需动态网页技术补充。考点1-3交互式动态网页技术〔领会〕【单选】【判断改错】【简答】【单选】动态网页按执行位置分两大类:客户端动态网页技术(在浏览器执行)和服务器端动态网页技术(在Web服务器执行);常见动态网页文件类型:.jsp、.asp/.aspx、.php、.cgi等(静态为.html)。【单选】客户端执行的网页语言(浏览器端脚本):嵌入HTML、由浏览器解释执行的程序,最典型是JavaScript(JS),还有VBScript等;常配合AJAX、DOM、CSS实现页面动态效果和表单前端校验。【简答】客户端脚本的功效、工作过程与优缺点(领会):功效——在不重新请求服务器的情况下实现页面交互、动态效果、表单前端校验、减轻服务器负担。工作过程——浏览器下载含脚本的页面后,由浏览器内置脚本引擎解释执行并操作DOM。优点——响应快、减少与服务器交互、减轻服务器压力、用户体验好;缺点——①依赖浏览器,不同浏览器兼容性不一;②源代码对用户可见、安全性差,不能用于核心业务和数据库操作;③受客户端能力限制。【单选】服务器端执行的网页语言:程序代码在Web服务器端运行,运行后把生成的纯HTML(结果)发给浏览器,浏览器看不到源代码。技术种类主要有JSP(Java)、ASP/ASP.NET(微软)、PHP(开源)、CGI/Perl等。【简答】服务器端动态网页的工作流程(领会):浏览器请求动态页面→Web服务器识别其为动态资源、交给相应引擎/容器(如JSP交给Tomcat中的Servlet容器)→服务器端执行Java代码、可连接数据库进行业务处理→把运行结果拼成标准HTML→通过HTTP响应发回浏览器→浏览器只收到并显示静态结果HTML(源代码安全、跨浏览器一致)。【简答】客户端与服务器端网页语言的不同(领会):①执行位置不同——浏览器内vs服务器内;②用户能否看到源代码——客户端可见、服务器端只返回结果;③主要用途——客户端做交互效果和前端校验,服务器端做业务逻辑、数据库访问和页面动态生成;④运行环境——依赖浏览器vs依赖服务器容器;⑤安全性——客户端较弱、服务器端较强。二者互补、共同完成业务。【单选】主流服务器端技术对比:JSP基于Java、跨平台、面向对象、与JavaEE结合、安全稳定,适合企业级;ASP.NET基于.NET、绑定Windows/IIS、开发高效;PHP开源免费、LAMP组合、上手快、适合中小Web。考点1-4网站数据库技术〔领会〕【单选】【简答】【单选】网站访问数据库的基本操作即增、删、改、查(CRUD:Create/Read/Update/Delete,对应SQL的INSERT、SELECT、UPDATE、DELETE)。【简答】Web服务器和数据库服务器的位置关系(领会):二者可在同一台主机(小型应用),也可分别部署在不同主机(典型三层架构,Web服务器在前端面向浏览器、数据库服务器在后端,只对Web服务器开放连接、不直接面向公网,更安全);Web服务器中的程序(如JSP通过JDBC)向数据库服务器发起连接、发送SQL、接收结果集。【简答】JSP页面访问数据库的基本流程(领会):①加载并注册数据库驱动;②通过DriverManager用URL、用户名、密码建立数据库连接Connection;③创建Statement/PreparedStatement对象;④执行SQL语句(查询返回ResultSet结果集、增删改返回影响行数);⑤遍历处理结果集、组织成HTML;⑥依次关闭ResultSet、Statement、Connection释放资源。考点1-5JSP与相关技术〔领会〕【单选】【判断改错】【单选】【简答】【单选】JSP(JavaServerPages,Java服务器页面)由Sun(太阳微系统,现属Oracle)倡导、联合多家公司推出,是一种运行在服务器端、在HTML中嵌入Java代码和JSP标签、动态生成网页的技术,文件扩展名.jsp。【简答】JSP的组成与双重特性(识记):JSP页面=静态的HTML/CSS/JS模板内容+动态的Java程序(脚本元素、指令元素、动作元素、表达式语言和标签库)。双重特性——既有静态网页的呈现能力,又有服务器端Java程序的动态处理能力;写起来像HTML,运行本质上是Servlet。动态程序的标记用<%%>等JSP元素,与普通HTML标签区分。【简答】JSP的特点(识记):①跨平台(一次编写、到处运行,依托JVM);②将页面显示与业务逻辑分离(配合JavaBean/MVC);③组件可重用(JavaBean、自定义标签、JSTL);④继承Java的面向对象、安全、健壮和丰富类库;⑤与数据库连接方便(JDBC);⑥JSP最终被容器编译成Servlet执行,运行效率高(首次编译后驻留内存)。【单选】Servlet容器(JSP容器/Servlet引擎):提供Servlet/JSP运行环境、负责管理Servlet生命周期、把HTTP请求翻译成HttpServletRequest对象、调用Servlet/JSP、并把响应通过HttpServletResponse写回浏览器的组件,如Tomcat就是典型的Servlet/JSP容器(也是Web服务器)。【简答】JSP的执行方式、运行本质与运行流程(领会):①浏览器首次请求某.jsp→容器查找该JSP;②容器把JSP翻译成一个Java源文件(*_jsp.java,本质是一个Servlet);③将其编译成字节码类(*_jsp.class)并加载执行;④执行后输出HTML响应给浏览器;⑤之后再次请求且页面未改动时直接调用已编译类(故“第一次访问较慢、之后很快”);当JSP被修改,容器会自动重新翻译编译。结论:JSP本质就是Servlet,是写起来更方便的Servlet。【判断改错】JSP每次被请求都要重新翻译、编译,所以访问很慢。()——错误。改正:JSP只在第一次请求(或源文件被修改后)才翻译、编译成Servlet类,之后请求直接运行已编译的字节码,只有第一次较慢。【简答】编写JSP的注意点(识记):①JSP元素区分大小写、指令和标签语法要规范;②Java代码语法必须正确、注意中文编码(page指令设contentType="text/html;charset=UTF-8"、request.setCharacterEncoding);③文件名和路径区分大小写、URL映射正确;④页面应尽量少写Java脚本、用JavaBean/JSTL分离逻辑;⑤注意异常处理和资源关闭。【单选】JavaBean:一种符合特定规范的可重用Java组件(普通Java类),用来封装数据和业务逻辑,特点是私有属性、公共的getter/setter、通常有无参构造、可序列化;在JSP中可用<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>调用,实现显示与逻辑分离。考点1-6软件编程体系与企业开发架构〔领会〕【单选】【判断改错】【简答】【单选】两大编程体系:①B/S(Browser/Server,浏览器/服务器)体系——基于Web,客户端用通用浏览器,代表语言/技术有HTML、JavaScript(浏览器端)和JSP/ASP/PHP(服务器端);②C/S(Client/Server,客户端/服务器)体系——需安装专用客户端程序,代表语言VB、Delphi、C++、JavaSE等。发展潮流是由C/S向B/S迁移。【单选】B/S浏览器端编程语言分类:结构层HTML、表现层CSS、行为层JavaScript(及AJAX、各类前端框架)。两大体系的数据库支持:常用关系型数据库Oracle、SQLServer、MySQL、DB2、Sybase、Access等,均可用标准SQL访问,Java通过JDBC连接。【简答】B/S模式与C/S模式的优缺点(领会):B/S优点——客户端零安装、只用浏览器、维护升级只需改服务器、跨平台、易扩展、便于广域访问;缺点——界面和响应受浏览器/网络限制、对服务器和网络依赖大、复杂交互和安全性挑战大。C/S优点——界面丰富、响应快、可充分利用本机性能、安全性较好;缺点——需安装专用客户端、升级维护成本高、跨平台差、部署范围受限。互联网应用以B/S为主流。【单选】企业应用架构分层:两层架构(客户端—数据库,典型C/S)、三层架构(表示层—业务逻辑层—数据层)、N层(多层,进一步细分业务、集成、数据访问等)。【单选】J2EE(Java2EnterpriseEdition,现称JakartaEE/JavaEE):Sun推出的企业级Java应用开发规范与平台集合,本质是一组技术规范和标准的多层、分布式、可移植组件架构。【简答】J2EE的组成、特点与典型四层架构(识记/领会):组成(基础技术)——JDBC、JNDI、Servlet、JSP、JavaBean/EJB、RMI、JMS、JTA、XML、JavaMail等;特点——基于组件、跨平台、分层、可扩展、安全事务支持、适合大型分布式企业应用;典型4层架构——①客户层(浏览器/客户端);②Web层(JSP/Servlet,运行于容器);③业务逻辑层(EJB/JavaBean处理业务);④企业信息系统层EIS(数据库/遗留系统)。分层使表示、业务、数据解耦、便于分工维护和扩展。【判断改错】J2EE是一种具体的软件产品。()——错误。改正:J2EE本质是一套企业级Java开发的技术规范(标准)和多层分布式组件架构,各厂商据此提供兼容产品(如Tomcat、JBoss、WebLogic、WebSphere),它本身不是单一产品。第2章JSP的开发和运行环境考情导航:JDK配置、Tomcat目录与部署、Eclipse环境搭建考点2-1JSP开发和应用平台〔识记〕【单选】【单选】JSP开发运行需要三部分:①JDK(Java开发工具包,提供编译和运行环境);②JSP/Servlet容器(Web服务器,如ApacheTomcat,也可用JBoss、WebLogic、WebSphere、Resin);③集成开发环境IDE(EclipseJavaEE、MyEclipse、IntelliJIDEA、NetBeans)。【简答】各平台特性(识记):Tomcat——Apache开源免费、轻量、Servlet/JSP官方参考实现、最常用,适合学习和中小型应用;JBoss(WildFly)——开源JavaEE全功能应用服务器;WebLogic(Oracle)、WebSphere(IBM)——商业重型企业级应用服务器,支持完整JavaEE、集群和事务;Eclipse/IDEA——主流IDE,提供代码编辑、调试、服务器集成和热部署。考点2-2JDK的安装与环境变量配置〔应用〕【单选】【判断改错】【综合应用】【单选】JDK(JavaDevelopmentKit):Java开发工具包,包含JRE(运行环境)、JVM(虚拟机)和javac编译器、java运行命令及类库;运行JSP必须先安装JDK。【综合应用】JDK的配置(Windows,识记步骤):①安装JDK(如安装到C:\ProgramFiles\Java\jdk版本);②新建系统环境变量JAVA_HOME,值为JDK安装根目录;③编辑Path变量,加入%JAVA_HOME%\bin;④新建/配置CLASSPATH,值为.;%JAVA_HOME%\lib(点号表示当前目录);⑤打开命令行用java-version、javac-version验证,能显示版本号即配置成功。【判断改错】配置JDK只需安装即可,不必设置环境变量。()——错误。改正:安装JDK后通常需配置JAVA_HOME、Path(加入bin目录)和CLASSPATH,命令行和容器才能找到编译器与运行环境。考点2-3Tomcat服务器〔领会〕【单选】【判断改错】【简答】【综合应用】【单选】Tomcat是Apache软件基金会旗下的开源、免费、轻量级Servlet/JSP容器(也是Web服务器),支持Servlet和JSP规范,是学习JSP的默认平台。【简答】Tomcat的特点(识记):开源免费、轻量、跨平台;与ApacheHTTPServer配合良好;是Servlet/JSP规范的参考实现;配置简单、启动快、占用资源少;可独立作为小型Web服务器,也常作为开发测试服务器;默认服务端口8080。【综合应用】Tomcat的安装与目录结构(领会):①可用Windows安装版或解压缩版(解压即用,需先有JDK并配好JAVA_HOME);②配置环境变量CATALINA_HOME指向Tomcat根目录(可选);③运行bin目录下startup.bat(Windows)/startup.sh(Linux)启动,shutdown脚本停止;④浏览器访问http://localhost:8080看到默认首页即成功。【简答】Tomcat安装目录结构及内容(领会,识记各文件夹作用):bin——启动关闭等可执行脚本(startup/shutdown、catalina);conf——配置文件目录,核心是server.xml(服务器、端口、连接器、虚拟主机配置)和web.xml(全局Web应用配置)、tomcat-users.xml(管理用户);lib——Tomcat及所有Web应用共享的jar包;logs——运行日志文件;webapps——Web应用发布(部署)目录,把网站文件夹或war包放此即自动部署,自带ROOT(默认站点)、examples、docs、manager等;work——JSP翻译编译生成的Servlet源码和class的工作目录;temp——临时文件目录。【单选】Tomcat默认端口在conf/server.xml的<Connectorport="8080">中修改;一个Web应用默认首页通常放在webapps/应用名/下,名为index.jsp/index.html,部署描述符为WEB-INF/web.xml。【综合应用】Tomcat部署Web应用与访问链接:方式一(热部署)——把Web应用目录或.war包复制到webapps下,Tomcat自动解压部署;方式二——在Eclipse/IDEA中把项目Add到Tomcat并Run;方式三——在server.xml中配置<Context>或在conf/Catalina/localhost下建xml映射。访问URL形如http://localhost:8080/应用上下文名/页面.jsp,ROOT应用直接http://localhost:8080/。考点2-4EclipseJavaEE集成开发环境〔应用〕【单选】【综合应用】【单选】开发环境(IDE,集成开发环境):把代码编辑、编译、调试、服务器管理、部署等集成在一起的软件,EclipseJavaEE版支持JSP/Servlet开发和Tomcat集成。【综合应用】EclipseJavaEE搭建JSP开发环境的步骤:①安装JDK并配置环境变量;②安装/解压Tomcat;③下载EclipseIDEforEnterpriseJavaDevelopers;④在Eclipse中配置已安装的JRE(Window→Preferences→Java→InstalledJREs);⑤Window→Preferences→Server→RuntimeEnvironments添加Tomcat服务器安装目录;⑥新建DynamicWebProject,设置ContextRoot;⑦在WebContent(或src/main/webapp)下编写JSP,在Servers视图把项目Add到Tomcat、Start,通过浏览器或内置浏览器访问测试;⑧可设置字符编码为UTF-8防止中文乱码。【单选】其他JSP开发环境:MyEclipse(Eclipse的商业增强版,内置大量框架支持,大纲列其为不作考核)、IntelliJIDEA(智能、主流)、NetBeans(Apache开源、原生支持JavaWeb)。【划书速记】第1-2章主线:HTTP无状态、请求-响应五步、CGI每请求一进程故低效;B/S三层(浏览器—Web服务器—数据库)对C/S两层;动态分客户端(JS、浏览器执行、源码可见)与服务器端(JSP/ASP/PHP、服务器执行只回HTML);JSP由Sun倡导=HTML+Java,本质是Servlet,首次翻译编译、之后直接运行;J2EE是规范非产品、四层(客户/Web/业务/EIS);环境三件套JDK(JAVA_HOME/Path/CLASSPATH)+Tomcat(端口8080、bin/conf/lib/webapps/work目录)+Eclipse。第3章JSP基本语法考情导航:重点章:脚本/指令/动作三元素、include指令与动作区别、forward考点3-1JSP文件结构与工作过程〔领会〕【单选】【判断改错】【简答】【单选】JSP页面由模板元素(静态HTML/CSS/JS文本)和JSP元素(动态部分)组成;JSP元素分三大类:脚本元素(Scripting)、指令元素(Directive)、动作元素(Action),另有表达式语言EL和标签库。【简答】JSP工作过程和转换(领会):第一次请求时,容器先把JSP“翻译(转译)”成一个实现了HttpJspPage接口的Servlet的Java源文件(*_jsp.java,放在work目录),再编译成class字节码并加载执行,由_jspService()方法输出HTML;以后请求直接执行该class,JSP改动后自动重新翻译编译。【单选】Java代码标记与HTML的区别:JSP的Java代码写在<%%>等脚本标记内、由服务器执行;HTML写在标记外、原样发给浏览器由浏览器解析。考点3-2JSP脚本元素〔应用〕【单选】【判断改错】【综合应用】【单选】脚本元素分四种:声明<%!%>、脚本段(小脚本)<%%>、表达式<%=%>、注释(隐藏注释<%----%>与HTML注释<!----%>)。【综合应用】声明(Declaration)<%!%>:用于声明成员变量(全局变量)和方法,只在类加载时初始化一次、被所有用户共享。语法:<%!intcount=0;intadd(inta,intb){returna+b;}%>。【综合应用】脚本段(Scriptlet)<%%>:写在_jspService方法内部的可执行Java代码(局部变量、流程控制、循环),每次请求都执行;局部变量线程私有。例:<%Stringname=request.getParameter("name");out.print(name);%>。【综合应用】表达式(Expression)<%=变量或表达式%>:把Java表达式的结果直接输出到页面,等价于<%out.print(...);%>;注意末尾不写分号。例:<%=3.14*r*2%>、<%=name%>。【判断改错】<%!inti=0;%>声明的是局部变量,每次请求重新创建。()——错误。改正:<%!%>声明的是Servlet类的成员(全局)变量,类加载时初始化一次、被多用户共享;<%%>脚本段里声明的才是_jspService内的局部变量,每次请求新建。【单选】注释比较:①JSP隐藏注释<%--注释--%>——服务器端注释,翻译时被丢弃、浏览器查看源代码也看不到;②HTML注释<!--注释--%>——会发给浏览器、在“查看网页源代码”中可见;③Java注释//、/**/——写在脚本内,存在于翻译后的Servlet源码但不输出页面。【综合应用】输入半径计算圆周长和面积(典型应用):页面表单输入r,脚本段获取并计算——<%doubler=Double.parseDouble(request.getParameter("r"));doublec=2*Math.PI*r;doubles=Math.PI*r*r;%>,再用表达式输出周长<%=c%>、面积<%=s%>;注意类型转换(字符串转double)和空值、非数字异常处理。【简答】使用表达式的注意点(领会):①<%=与%>之间是一个能求值的表达式、不能写语句;②末尾不能加分号;③表达式结果自动转成字符串输出;④不要在表达式里写多条语句或声明方法。考点3-3JSP指令元素〔应用〕【单选】【判断改错】【简答】【综合应用】【单选】指令元素(Directive)在JSP翻译阶段起作用、用于设置页面全局属性,语法<%@指令名属性="值"%>,共三种:page、include、taglib。指令不直接产生输出。【综合应用】page指令:设置整个页面属性,常用属性:language="java"(语言)、import="包.类"(导包,可多个逗号分隔)、contentType="text/html;charset=UTF-8"(响应MIME类型和编码)、pageEncoding="UTF-8"(JSP文件本身编码)、session="true/false"(是否内置session,默认true)、errorPage="错误页.jsp"(出错跳转页)、isErrorPage="true/false"(本页是否为错误处理页,为true才能用exception对象)、isELIgnored(是否忽略EL)。例:<%@pagecontentType="text/html;charset=UTF-8"import="java.util.*"%>。【综合应用】include指令(静态包含)<%@includefile="被包含页.jsp"%>:在翻译(编译)阶段把被包含文件的源代码原样合并进当前页再一起编译成一个Servlet;file支持相对路径,可包含.html/.jsp/.txt片段;被包含页不必是完整页面、不单独生成class;修改被包含页会引起主页重新编译。【单选】taglib指令<%@tagliburi="标签库URI"prefix="前缀"%>:引入JSTL或自定义标签库,之后可用<前缀:标签名>调用。【判断改错】include指令是在页面运行时动态地把被包含页的执行结果合并进来。()——错误。改正:include指令是“静态包含”,在翻译(编译)阶段把被包含文件的源代码文本合并、一起编译成一个Servlet;运行时动态合并结果的是动作元素<jsp:include>。【简答】理解“使用include指令包含文本是静态的”(领会):静态体现在合并发生在编译期、合并的是源代码而非运行结果,主页面和被包含页最终只生成一个Servlet、共享同一套局部变量和request;因此被包含页一般不重复写<html><body>等结构标签,且变量名不能冲突。考点3-4JSP动作元素〔应用〕【单选】【判断改错】【简答】【综合应用】【单选】动作元素(Action)在请求处理(运行)阶段执行,是服务器端的XML式标签,语法<jsp:动作名属性="值"/>,常用:include、forward、param、useBean、setProperty、getProperty、plugin等。【综合应用】<jsp:includepage="x.jsp"flush="true"/>(动态包含):运行时把被包含页单独执行后的结果(HTML输出)插入当前页指定位置,两个页面各自翻译为独立Servlet、通过请求包含(RequestDispatcher.include)组合;可带<jsp:param>传参。【综合应用】<jsp:forwardpage="目标.jsp"/>(请求转发):在服务器内部把当前请求转发给另一个资源处理并由其响应,浏览器地址栏URL不变、共享同一个request(可通过request.setAttribute或<jsp:param>传数据);转发后当前页后续代码不再输出。常用于登录验证后跳转。【综合应用】<jsp:paramname=""value=""/>:配合include/forward给被包含或转发页面追加传递请求参数,目标页用request.getParameter(name)获取。【综合应用】JavaBean三动作:<jsp:useBeanid="对象名"class="包.类名"scope="page/request/session/application"/>实例化(或查找)一个Bean;<jsp:setPropertyname="对象名"property="属性名"value="值"/>(property="*"可自动按表单同名参数批量封装)设置属性;<jsp:getPropertyname="对象名"property="属性名"/>读取并输出属性。【单选】<jsp:plugin>:在页面中插入运行JavaApplet/Bean的插件(object/embed),由浏览器下载JRE运行,现代Web已较少使用。【划书速记】include指令与include动作的区别(高频):①时机——include指令在翻译(编译)期合并源代码(静态包含),jsp:include在运行期合并执行结果(动态包含);②产物——指令合成一个Servlet,动作是多个独立Servlet组合;③内容——指令合并源码、共享变量,动作只合并输出、彼此变量独立;④传参——指令不能带param,动作可用jsp:param传参;⑤变化——被包含页改动时指令会引起主页重编译,动作各自独立;⑥选用——固定不变的页眉页脚用指令,动态变化、独立模块用动作。【简答】JavaBean与setProperty/getProperty的关系(领会):useBean先按id和scope创建或找到Bean对象,setProperty调用其setXxx写入数据(可自动接收表单),getProperty调用其getXxx读出显示,三者配合实现JSP页面不写Java脚本即可封装、处理、展示数据,是JSP+JavaBean模式的基础。第4章JSP内置对象考情导航:重点章:request/response/out/session/application等九对象考点4-1内置对象概述〔领会〕【单选】【简答】【单选】JSP内置对象(隐式对象)是容器在_jspService方法中预先创建好、可直接使用、无需new的对象,共9个:request、response、out、session、application、pageContext、config、page、exception。【简答】常用内置对象及其功能(领会):request(HttpServletRequest)封装客户端请求和参数;response(HttpServletResponse)封装对客户端的响应;out(JspWriter)向页面输出内容;session(HttpSession)保存同一用户跨页面的会话数据;application(ServletContext)保存整个应用所有用户共享的数据;pageContext(PageContext)页面上下文,可获取其他八个对象并提供四种属性作用域;config(ServletConfig)读取Servlet/JSP配置参数;page(Object)代表当前页面对象(相当于this);exception(Throwable)仅在isErrorPage="true"的错误页可用、表示异常。【单选】四个属性作用域从小到大:page(pageContext,当前页面)<request(一次请求,含转发)<session(一次会话,同一用户)<application(整个应用、所有用户),对应setAttribute/getAttribute/removeAttribute方法。考点4-2request请求对象〔应用〕【单选】【判断改错】【综合应用】【单选】request是javax.servlet.http.HttpServletRequest接口的实例,作用域为一次请求(转发时仍有效,重定向后失效)。【综合应用】request常用方法:getParameter(name)取表单/URL参数(返回String);getParameterValues(name)取同名多值(复选框,返回String[]);getParameterNames()取所有参数名;setAttribute(name,obj)/getAttribute(name)在请求域存取对象;setCharacterEncoding("UTF-8")设置请求体编码(须在读参数前调用,防POST中文乱码);getRequestDispatcher("x").forward(req,resp)转发;getMethod()取GET/POST;getRequestURL/URI、getRemoteAddr()取客户端IP、getHeader()取请求头。【综合应用】类型转换:getParameter返回的都是字符串,需要数值时用Integer.parseInt()、Double.parseDouble()转换,取多值用getParameterValues遍历。【判断改错】用request.setCharacterEncoding("UTF-8")可以解决GET方式URL中文乱码。()——不准确/错误。改正:setCharacterEncoding只对请求体(POST提交)有效;GET参数在URL中,需对服务器Connector设置URIEncoding="UTF-8",或对取回的字符串按ISO-8859-1取出再以UTF-8重编码(newString(s.getBytes("ISO-8859-1"),"UTF-8"))。【简答】GET和POST传参的不同(领会):①位置——GET参数拼在URL后(?名=值&…)、可见可收藏,POST放在请求体中、URL不可见;②数据量——GET受URL长度限制(约几KB)、数据量小,POST理论上无明显限制、可传较大数据和文件;③安全——POST相对安全、GET易被缓存和泄露;④编码——GET用URIEncoding、POST用setCharacterEncoding;⑤幂等——GET用于查询、POST用于提交修改;⑥request.getParameter两者都能取。【综合应用】request应用实例(提交并展示):表单页input的name=user,提交到show.jsp;show.jsp开头<%request.setCharacterEncoding("UTF-8");%>,再Stringu=request.getParameter("user");用<%=u%>回显;复选框hobby多个用String[]h=request.getParameterValues("hobby")循环输出。考点4-3response响应对象〔应用〕【单选】【判断改错】【简答】【综合应用】【单选】response是javax.servlet.http.HttpServletResponse接口实例,用于设置响应内容、编码、响应头、状态码、重定向和Cookie。【综合应用】response常用方法:setContentType("text/html;charset=UTF-8")设置响应类型和编码;setCharacterEncoding();getWriter()取字符输出流;addCookie(Cookie)/发送Cookie;sendRedirect("url")重定向;setHeader/addHeader设置响应头(如setHeader("refresh","5;url=")自动刷新跳转);setStatus()/sendError()设置状态码。【综合应用】设置自动刷新/定时跳转:response.setHeader("refresh","3;URL=login.jsp")表示3秒后自动跳转到login.jsp;setIntHeader("refresh",5)表示每5秒刷新本页。【单选】常见HTTP响应状态码:200正常;302临时重定向;304未修改(缓存);400请求错误;403禁止访问;404资源未找到;500服务器内部错误。【划书速记】sendRedirect重定向与jsp:forward转发的区别(高频):①forward是服务器内部跳转、一次请求、request数据共享、浏览器地址栏URL不变;sendRedirect是服务器让浏览器重新发起一次新请求(两次请求)、地址栏变为新URL、request数据不共享(需用session或URL重写传值);②forward只能跳到本应用内资源、sendRedirect可跳到任意外部URL;③forward由RequestDispatcher实现、sendRedirect响应302+Location头;④登录失败提示后回表单常用转发,登录成功跳到主页、避免重复提交常用重定向。【综合应用】用response操作Cookie:Cookiec=newCookie("name","value");c.setMaxAge(60*60);response.addCookie(c)写入客户端;读取时用request.getCookies()(详见第5章)。考点4-4out输出对象〔领会〕【单选】【简答】【单选】out是javax.servlet.jsp.JspWriter实例,作用是把文本输出到响应页面;常用方法:print()/println()输出、newLine()换行、write()写入、clear()清空缓冲区(未flush时,已flush会抛异常)、clearBuffer()清空缓冲区(不抛异常)、flush()立即把缓冲区内容刷到客户端、close()关闭、getBufferSize()取缓冲区大小、isAutoFlush()。【简答】缓冲区与提高输出效率(领会):JSP默认使用缓冲区,输出先写入内存缓冲区,满或页面结束/调用flush时一次性发给浏览器,减少频繁I/O、提高效率;autoFlush=true时缓冲区满自动刷新,false时满了抛异常。【判断改错】clear()和clearBuffer()作用完全相同。()——错误。改正:二者都清空缓冲区,但clear()在缓冲区内容已经flush(输出)后调用会抛IOException,clearBuffer()无论是否flush都不抛异常;flush()是把缓冲区内容真正写出,clear是清空未写出内容。考点4-5session会话对象〔应用〕【单选】【判断改错】【简答】【综合应用】【单选】session是javax.servlet.http.HttpSession实例,保存在服务器端,用来在同一用户一次会话的多个页面/请求之间保存数据(如登录状态、购物车);每个session有唯一JSESSIONID,容器默认通过Cookie把该ID发给浏览器、下次请求带回以辨认用户。【综合应用】session常用方法:setAttribute(name,obj)存对象、getAttribute(name)取(返回Object需强转)、removeAttribute(name)删、invalidate()使整个会话失效(注销登录)、getId()取会话ID、setMaxInactiveInterval(秒)设置最大不活动超时、getCreationTime()创建时间、getLastAccessedTime()最后访问时间、isNew()是否新会话。【简答】session的作用、有效期与不同用户辨别(领会):作用——在HTTP无状态下维持同一用户跨请求的状态;辨别——容器为每个浏览器(用户)分配唯一sessionid(JSESSIONID),据此区分不同用户、彼此数据隔离;有效期——从用户首次访问创建,到超时(默认30分钟无活动)或调用invalidate()、关闭浏览器(Cookie失效)时结束。【简答】session生命周期结束的情况(领会):①达到设定的最大不活动时间(超时,默认30分钟,可setMaxInactiveInterval或web.xml配置session-timeout);②程序主动调用session.invalidate()(如安全退出);③服务器重启或应用卸载;④保存JSESSIONID的会话Cookie随浏览器关闭而失效(服务器端session对象稍后按超时回收)。【综合应用】session存取实例:登录成功后session.setAttribute("loginUser",user);其他页面Useru=(User)session.getAttribute("loginUser")判断是否登录,为null则跳到登录页;退出时session.invalidate()。考点4-6application对象与其他内置对象〔应用〕【单选】【判断改错】【简答】【单选】application是javax.servlet.ServletContext实例,作用域为整个Web应用、所有用户共享、服务器运行期间一直存在,用于存全局数据和取应用信息。【综合应用】application常用方法:setAttribute/getAttribute/removeAttribute存取全局属性;getInitParameter()取上下文初始化参数;getRealPath("/")取应用在服务器的真实物理路径;getServerInfo()取服务器信息;getMajorVersion等;典型用途——网站总访问计数器(所有用户共享累加)、全局在线信息、读取全局配置。【简答】application与session的不同(领会):①作用域——session属于单个用户、一次会话;application属于整个应用、所有用户共享;②生命周期——session随会话超时/invalidate结束,application从应用启动到关闭/服务器停止;③数据隔离——不同用户session互不相同,application对所有人是同一份;④典型用途——session存登录用户和购物车,application存全局计数器和公共参数;⑤并发——application被多线程共享、修改要考虑线程同步。【单选】pageContext(javax.servlet.jsp.PageContext):页面上下文,作用域仅当前页面,方法setAttribute/getAttribute(可指定PAGE_SCOPE/REQUEST_SCOPE/SESSION_SCOPE/APPLICATION_SCOPE)、findAttribute按作用域由小到大查找、getRequest/getResponse/getSession/getOut等获取其他内置对象、forward/include页面跳转。【单选】config(ServletConfig):获取该JSP/Servlet在web.xml中配置的初始化参数和Servlet名,方法getInitParameter(name)、getInitParameterNames()、getServletContext()、getServletName();page是Object类型、指向当前JSP页面Servlet实例(相当于this),较少直接用;exception是java.lang.Throwable实例,仅当page指令isErrorPage="true"时存在,用getMessage()、printStackTrace()显示错误信息。【划书速记】第3-4章:JSP三元素(脚本/指令/动作);脚本四件<!>成员、<%>局部、<=%>输出无分号、三种注释;指令page/include/taglib是编译期、动作include/forward/param/useBean三动作是运行期;静态include合并源码一个Servlet、动态include合并结果;forward服务器内转发URL不变共享request,sendRedirect客户端二次请求URL变。九大内置对象记作用域page<request<session<application;request取参setCharacterEncoding、response重定向/状态码、out缓冲、session服务器端JSESSIONID、application全局共享。第5章Cookie及会话追踪考情导航:Cookie读写与周期、4种会话跟踪、session超时配置考点5-1Cookie的概念、特性与工作过程〔领会〕【单选】【判断改错】【简答】【单选】Cookie是服务器发送给浏览器、由浏览器保存在客户端的一小段文本数据(键值对),以后访问同一站点时浏览器自动把Cookie随请求发回服务器,从而在无状态的HTTP上识别用户。Java中对应javax.servlet.http.Cookie类。【简答】Cookie的工作过程与存放形式/地点(领会):①服务器用response.addCookie()把Cookie写入响应头Set-Cookie发给浏览器;②浏览器把Cookie以小文本文件形式保存在客户端(内存中或硬盘指定目录);③之后每次请求同站点,浏览器通过请求头Cookie自动带回;④服务器用request.getCookies()读取数组、遍历匹配name取值。【单选】临时Cookie与持久Cookie的区别:①临时(会话)Cookie——不设置MaxAge(或为负值),只存在浏览器内存中、浏览器关闭即消失;②持久Cookie——用setMaxAge(秒)设置有效时间,保存到客户端硬盘、到期前一直存在、重启浏览器仍在;setMaxAge(0)表示立即删除同名Cookie。【简答】Cookie的常见用途与好处(领会):记住用户名和登录状态(“记住我”)、保存用户偏好(主题、语言)、实现购物车、统计和个性化推荐、免重复登录;好处——减轻服务器存储压力、可长期保存、实现客户端状态保持,给网站和用户带来便利。【简答】Cookie的安全性问题(领会):①保存在客户端、用户可查看、修改甚至伪造,不能用来直接保存密码等敏感信息;②可能被窃取(XSS)或跨站滥用,应设置HttpOnly、Secure;③大小和数量受限(一般单个约4KB、每站点数量有限);④用户可在浏览器中禁用或删除Cookie,程序必须考虑其被禁用的情况;⑤中文需URLEncoder编码后再存。考点5-2在JSP中使用Cookie〔应用〕【单选】【判断改错】【综合应用】【综合应用】创建并发送Cookie:Cookiec=newCookie("username",URLEncoder.encode("张三","UTF-8"));c.setMaxAge(60*60*24*7);c.setPath("/");response.addCookie(c);——构造参数为名字和值,setMaxAge设存活秒数,setPath设置有效路径,最后必须用response.addCookie()才真正发给浏览器。【综合应用】读取Cookie:Cookie[]cs=request.getCookies();先判断cs!=null,再for遍历,用getName()匹配名字、getValue()取值(中文用URLDecoder.decode解码)。【单选】Cookie主要方法:getName()取名、getValue()/setValue()取值设值、setMaxAge(int秒)/getMaxAge()存活时间、setPath/getPath有效路径、setDomain/getDomain有效域、setComment、setSecure(是否仅HTTPS)、setHttpOnly。【判断改错】要删除一个Cookie,直接把Cookie对象设为null即可。()——错误。改正:需new一个同名(同path)的Cookie并setMaxAge(0),再response.addCookie(c)发回浏览器,浏览器据此删除原有同名Cookie;持久Cookie同名替换时也必须path/domain一致。【综合应用】Cookie的有效周期与默认值(领会):默认(不设MaxAge)为会话级、随浏览器关闭而消失;setMaxAge为正数表示存活多少秒、为0表示删除、为负数表示会话级;同名同路径再次addCookie即覆盖旧值(同名替换)。【综合应用】Cookie遍历应用:遍历request.getCookies()输出本站所有Cookie名值,实现“查看本站保存的所有信息”;结合表单实现“记住用户名”——勾选后把用户名写为持久Cookie,下次登录页读取并回填输入框。考点5-3会话与会话追踪的4种方式〔领会〕【单选】【判断改错】【简答】【单选】会话(Session)指同一用户在一段时间内与Web服务器进行的一系列连续请求和响应的过程;会话追踪(会话跟踪,SessionTracking)指在无状态HTTP中识别、维持同一用户连续请求并保存其状态数据的机制。【简答】实现会话追踪的4种方式及其优缺点(识记):①Cookie——把会话标识存客户端、自动携带,方便高效,是默认方式;缺点是可被禁用、有大小和安全限制;②URL重写——把sessionId拼在每个URL后(jsessionid=…,用response.encodeURL()实现),不依赖Cookie,Cookie被禁用时的兜底方案;缺点是URL冗长、不安全、只能点带参数的链接;③隐藏表单域(hidden字段)——用<inputtype="hidden">在表单页间传状态,简单但仅适用于表单提交、数据量小;④HttpSession(内建session对象)——数据保存在服务器端、安全、可存对象,仅把sessionId通过Cookie/URL重写传递,是JSP最常用方式;缺点是占用服务器资源、需处理超时和分布式问题。【简答】Cookie和session的关系(领会):session的数据存在服务器、其会话标识JSESSIONID默认借助Cookie保存在客户端,二者配合实现会话跟踪;若浏览器禁用Cookie,session可改用URL重写传递JSESSIONID;Cookie在客户端、适合小而不敏感数据,session在服务器端、适合安全和对象数据。【综合应用】用内建session实现会话跟踪:首次访问容器自动创建session并分配id;用setAttribute存、getAttribute取、removeAttribute删;request.getSession(true)获取(没有则新建);session.getId()看id,isNew()判断是否本次新建。考点5-4session生命周期与超时配置〔应用〕【单选】【综合应用】【单选】设置session超时两种方式:①编程——session.setMaxInactiveInterval(600),单位是秒;②在web.xml中配置<session-config><session-timeout>30</session-timeout>,单位是分钟(-1表示永不超时)。【综合应用】判断新会话与访问超时:session.isNew()为true表示服务器刚创建、客户端尚未确认;getMaxInactiveInterval()读取超时秒数;超过最大不活动时间未访问则容器销毁该session,再访问会新建一个session;主动结束用invalidate()。第6章JavaBean和表单处理考情导航:重点章:Model1/Model2、JavaBean规范与4种scope、表单封装考点6-1非MVC模式(Model1)〔领会〕【单选】【判断改错】【简答】【单选】Model1(非MVC模式)以JSP为中心:请求直接交给JSP,由JSP负责接收请求、处理业务(可调用JavaBean)并生成响应。分两种结构:①纯JSP——JSP同时承担界面显示、业务逻辑和数据库访问全部工作;②JSP+JavaBean——JSP负责显示和控制流程,JavaBean封装业务逻辑和数据。【简答】纯JSP开发的优缺点(领会):优点——开发快、结构简单、小规模项目上手容易;缺点——HTML与Java代码混杂、页面臃肿、可读性可维护性差、业务与显示耦合、不利于团队分工和复用、调试困难,项目一大就难以维护。【简答】JSP+JavaBean模式的优点(领会):把数据和业务逻辑抽到可复用的JavaBean中,JSP主要负责显示,实现一定程度的表示与逻辑分离;代码可复用、结构较清晰、便于调试和维护,适合中小型项目;但JSP仍承担控制和视图双重职责,大型项目仍需MVC。【单选】Model1的应用范围:业务逻辑较简单、规模较小、开发周期短的中小型Web应用。考点6-2MVC编程模式(Model2)〔领会〕【单选】【判断改错】【简答】【单选】MVC(Model-View-Controller,模型—视图—控制器)把应用分成三部分:Model模型(JavaBean/EJB,封装数据和业务逻辑)、View视图(JSP,只负责显示)、Controller控制器(Servlet,接收请求、调用模型、选择视图)。Web中的MVC即Model2。【简答】Model2(MVC)的工作过程(领会):①浏览器请求先发给作为控制器的Servlet;②Servlet接收参数、校验、调用JavaBean(模型)处理业务和数据;③模型处理结果存入request/session;④Servlet选择并转发到相应JSP视图;⑤JSP只负责从域中取数据并显示。请求不再直接到达JSP,实现控制、业务、显示三者分离。【简答】MVC模式的优点(领会):①职责分离——模型、视图、控制器各司其职;②有利于团队分工(页面人员与后端并行);③视图可替换、模型可复用、便于扩展和维护;④控制器集中流程控制、结构清晰、适合大型企业级应用;⑤便于测试。代价是结构较复杂、小项目显得繁琐。【判断改错】在MVC(Model2)中,浏览器直接请求JSP,由JSP处理业务并跳转。()——错误。改正:Model2中请求先到控制器Servlet,由Servlet调用模型处理、再转发给JSP视图显示,JSP不直接处理请求和业务,只负责展示。考点6-3剖析JavaBean〔领会〕【单选】【判断改错】【简答】【单选】JavaBean是一种符合特定规范的、可重用的Java类(组件),本质就是满足约定的普通Java对象(POJO),用来封装数据(属性)和/或业务方法,实现代码复用和表示与逻辑分离。【简答】JavaBean必须满足的特征(规范条件,领会):①是public公共类、放在指定包中;②提供public的无参构造方法(默认即可);③属性私有(private);④对每个私有属性提供public的getXxx/setXxx(布尔属性可用isXxx)访问器;⑤通常实现java.io.Serializable可序列化接口以便在作用域间传递。【单选】JavaBean分类:①可视化JavaBean(GUI组件,AWT/Swing,Web少用);②非可视化JavaBean(封装数据和业务逻辑,Web开发常用,又分封装数据的值Bean和封装业务的处理Bean)。优点:可重用、可移植、易维护、支持分布式、与JSP动作标签配合可少写脚本。应用场合:封装表单数据、封装业务逻辑、数据库操作组件、MVC中的模型。【简答】采用JavaBean的优势和必要性(领会):复用、解耦(显示与逻辑分离)、保护代码、便于分工和测试、减少JSP中的Java脚本、配合jsp:useBean等标签简化开发、符合MVC分层思想。考点6-4在JSP中使用JavaBean〔应用〕【单选】【判断改错】【综合应用】【综合应用】调用语法:<jsp:useBeanid="user"class="com.vo.User"scope="page"/>;<jsp:setPropertyname="user"property="username"value="张三"/>;<jsp:getPropertyname="user"property="username"/>。id是引用变量名,class是完整类名,scope决定生命周期。【单选】JavaBean的4种生命周期(scope):①page——仅当前页面、响应结束即销毁(默认,最小);②request——本次请求内有效,转发到的页面也能访问;③session——同一用户整个会话有效;④application——整个应用所有用户共享、应用卸载才销毁。【综合应用】request生命周期传递范围与存取:request作用域的Bean可在服务器转发(forward/include)的多个页面间共享,用request.setAttribute()/getAttribute()存取;注意——不能用sendRedirect重定向传递(重定向是新请求、request被重建,Bean丢失),跨重定向要用session。【综合应用】设置属性property="*"自动封装表单:<jsp:setPropertyname="user"property="*"/>会自动把表单中名字与Bean属性同名的请求参数经类型自动转换后批量set进去,省去逐个getParameter,是表单处理的关键用法。【单选】类型自动转换规则:表单参数都是字符串,容器按Bean属性的类型自动转换——String原样、基本类型int/long/double/boolean及包装类用对应parse/valueOf转换、转换失败会抛NumberFormatException;常用String、int、double、boolean、java.util.Date(日期通常需手工处理)。【判断改错】JavaBean在JSP页面间传递可以使用sendRedirect重定向并保持request作用域。()——错误。改正:request作用域只在一次请求内有效,sendRedirect会发起新请求、request数据丢失;要跨重定向传递应使用session作用域,或用forward转发保持request。考点6-5使用JavaBean处理表单数据〔应用〕【单选】【简答】【综合应用】【单选】表单(Form)是HTML中收集用户输入并提交给服务器的容器,<formaction="处理页.jsp"method="post">内放input/select/textarea等控件,每个控件以name作为提交时的参数名。【简答】HTML表单与JSP的交互过程(领会):①浏览器在表单页填写、提交;②浏览器按method把name=value数据发给action指定的JSP/Servlet;③服务器端JSP用request.getParameter/Values取数据;④用JavaBean封装(setPropertyproperty="*"自动装配)并进行校验、业务处理(可写数据库);⑤把结果Bean存入作用域并由结果页getProperty/EL显示。一般涉及表单页(输入)、处理页(逻辑)、结果页(显示),可用JavaBean贯穿。【综合应用】JSP处理form常用标签:文本text、密码password、单选radio、复选checkbox(用getParameterValues取数组)、下拉select、文本域textarea、隐藏hidden、提交submit/重置reset;处理页先setCharacterEncoding防乱码,再用useBean+setProperty("*")自动封装、校验后显示或入库。【单选】表单的重要性:表单是浏览器向服务器提交数据、实现用户与Web应用交互的最主要手段,是登录、注册、查询、下单等一切数据采集功能的入口。第7章JSP中的文件操作考情导航:数据流与File类、读写文本、目录、上传下载考点7-1数据流与File类〔应用〕【单选】【判断改错】【简答】【单选】数据流(Stream)是程序与数据源(文件、内存、网络)之间传输数据的有序字节/字符序列。JavaI/O分两大体系:字节流(以InputStream/OutputStream为顶层抽象类,处理字节、二进制,如图片)和字符流(以Reader/Writer为顶层抽象类,处理字符、文本,自动处理编码)。【单选】字节流顶层:InputStream(读,方法read())、OutputStream(写,write());字符流顶层:Reader(read())、Writer(write());读写到末尾read()返回-1;文件操作可能抛IOException(及FileNotFoundException)。【单选】java.io.File类用于表示文件或目录的路径信息(抽象路径名)和属性,注意File对象只表示路径、并不创建文件,也不负责读写文件内容;构造:newFile("路径/文件名"),属于java.io包,JSP中用page指令import="java.io.*"载入。【综合应用】File常用属性/方法:exists()是否存在、isFile()/isDirectory()是文件还是目录、getName()取名、getPath()/getAbsolutePath()取相对/绝对路径、length()长度字节、lastModified()最后修改时间、createNewFile()新建文件、mkdir()/mkdirs()建目录、delete()删除、renameTo()重命名、list()/listFiles()列出目录内容、canRead/canWrite权限。访问不存在文件会抛FileNotFoundException等异常,需try-catch。【简答】相对路径与绝对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论