dobody/>
●Tag文件中的常用指令
1tag指令;②include指令,静态插入指令标记;
③attribute,JSP页面向其调用的Tag文件传递参数的指令;
格式为<%@attributename=”result”require=”true”%>
④variable指令,Tag文件通过variable指令可以将Tag文件中的对象返回给调用该文件的JSP页面。
格式如下:
<%@variablename-given=”time”variable-class=”java.util.Date”scope=”AT_END”%>
<%jspContext.setAttribute(“time”,newDate)%>
⑤taglib指令,Tag文件也可以使用Tag标记来调用其他Tag文件,也要引入标记库
如:
<%@taglibtagdir=”/WEB-INF/tags”prefix=”beijing”%>
第四章
●什么是内置对象
内置对象就是不用声明就可以在JSP页面的Java程序片和Java表达式中使用的对象。
共九个。
●常用的内置对象
Request、response、session、application、out
●请求和响应分别包含哪几个部分?
分别是什么?
请求包含:
1)方法(get、post)/资源(要提交的目的地)/HTTP协议;
2)头域:
主机IP地址;
3)信息体:
HTML表单内容。
响应包含:
1)状态行:
规定状态码;
2)头文件(客户端-服务器传递信息/输入输出信息/用户使用状态保存);(几个)
3)信息体。
●request对象
request对象封装了用户请求页面时所提交的信息,服务器调用该对象相应的方法就可以获取用户提交的信息。
用处:
1获取用户提交的信息,调用getParameter(“name”)获取。
获取的是字符串,使用时要注意内型转换。
2处理汉字信息,Stringstr=request.getParameter(“girl”);byteb[]=str.getBytes(“ISO-8859-1”);str=newString(b);
●response对象
对用户的请求作出动态响应,每个响应都由状态行开始。
用处:
1动态响应contentType属性,调用response.setContentType();使用该方法动态设置相应的MIME内型。
2设置HTTP文件头,重要的应用是刷新,调用response.setHeader(“Refresh”,”5”);五秒刷新一次。
3response重定向,引擎在响应用户时,如果用户输入的信息不完整,引擎就会再次引导用户到输入页面重新输入。
response.sendRedirect(“aa.jsp”)。
4response状态行,JSP引擎响应用户时发送的首行(服务器发送到浏览器)。
对当前状态的描述。
●什么是session,为什么要用到session?
session,即会话(用户打开浏览器到关闭浏览器的过程),HTTP是一个无状态协议,想要保存用户个人信息,就要用到session。
所以,session是用来保存访问用户的信息。
●session对象的ID
用户首次访问Web服务目录的JSP页面时,JSP引擎会为其分配一个唯一的ID号,存储在用户浏览器的Cookie中,以标识不同的用户。
(注意:
用户在不同的服务目录(即不同网站)中的session是不同的)
●session对象的URL重写
当用户浏览器关闭了或者不支持Cookie功能,而又想要保存用户信息(保证ID号唯一),就要用到session的URL重写功能,把ID号传到下一个页面。
形式:
response.encodeURL(“ff.jsp”)/response.encodeRedirectURL(“ff.jsp”)
●session对象存储数据
两种方法:
setAttribute(“customer”,“顾客”)、getAttribute(“customer”)
session.setAttribute(“customer”,“顾客”);
存的是一个对象,获取的是一个字符串。
●session对象的生存周期
Session无效的原因:
①是否使用的invalidate()方法使得session无效;
②是否达到设置的最长“发呆”时间(默认30分钟)(在conf目录下的web.xml设置);
③服务器是否被关闭。
●out对象
out对象是一个输出流,用来向用户输出数据。
主要是out.print()/out.println();
out对象负责把数据发到用户的浏览器,由用户浏览器负责执行。
●application对象
Tomcat服务器启动后就产生这个对象,服务器关闭,才消失。
在同一Web服务目录中的application对象是相通的,访问当前服务目录的的用户共享,不同Web服务目录下的application对象互不不同。
保存的是整个Web服务的信息。
第五章
●JSP中的文件操作
JSP是通过Java的输入输出流来实现文件的读/写操作。
●File类
用来获取文件本身的一些信息,包含文件目录、文件长度、文件读/写权限等,不涉及对文件的读/写操作。
构造方法:
3个。
作用:
1获取文件的属性;
2创建目录,mkdir();
3删除文件和目录,delete()。
●字节流读/写文件
InputStream:
从源中从源中读取单个字节的数据。
OutputStream:
向输出流写入单个字节;
FileInputStream:
针对文件的输入字节流;
FileOutputStream:
针对文件的输出字节流;
BufferedInputStream:
针对文件的字节的缓冲区的输入字节流;
BufferedOutputStream:
针对文件的字节的缓冲区的输出字节流。
●字符流读/写文件
为什么要用字符流:
字节流不能直接操作Unicode字符,所以Java提供了字符流。
汉子占两个字节,如果使用字节流,读取不当会出现乱码现象。
在Unicode字符中,一个汉字被看做一个字符。
基本字符输入输出流是,read(),write(),不针对文件。
针对文件的字符流输入输出是:
FileReader(),FileWriter()。
针对缓冲区的字符流输入输出:
BufferedReader(),BufferedWriter()。
●RandomAccessFile类
想对一个文件进行读/写操作时,可以创建一个指向该文件的RandomAccessFile流,这样既可以从这个流读取文件的数据,也可以通过这个流向文件写入数据。
(既是源也是流)不是顺序读取,前面的读取都是顺序读取。
RandomAccessFile类读取的方法:
getFilePointer(),seek();
文件是静态读取,流是动态读取。
●文件上传
通过JSP页面上传文件给服务器时,JSP页面必须含有File类型的表单,且表单必须将ENCTYPE的属性设成multipart/form-data;使用request调用方法getInputStream()获得一个输入流来上传用户的全部信息。
第六章
●JSP数据库
JDBC。
JDBC提供了访问数据库的API。
在JSP中可以使用JDBC实现对数据库中表的记录的查询、修改、删除等操作。
JDBC主要有三个操作:
1与数据库建立连接;
第一步:
加载JDBC-数据库驱动程序;第二部:
建立连接。
2向连接的数据库发送SQL语句;
查询的步骤:
(1)向数据库发送SQL查询语句;
(2)处理查询结果。
查询的分类:
(1)顺序查询;
(2)条件查询;(3)模糊查询;(4)随机查询(5)排序查询
3返回结果。
第七章
●什么是JavaBean,JavaBean有什么规则
JavaBean是一个Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称Bean。
规则:
1、每一个实验对象都要有get(获取属性)、set(修改属性)方法。
(可用is代替);
2、实验对象必须是私有;
3、类中方法的访问权限必须是public的;
4、如果有构造函数,构造方法的访问权限也是public,并且是无参的。
●Bean的编写与保存
1、编写bean;(编写时一定要带有包名,如:
packagegping)
2、保存bean(字节码文件存放在\WEB-INF\classes\tom\jiafei(文件名))。
●使用bean
步骤:
1、用page指令导入对象内包;
2、用useBean来加载使用bean。
useBean标记格式:
useBeanid=”名字”class=”创建的bean类”scope=”有效期”>
useBean>
方法:
1、直接在java程序片或java表达式通过JavaBean对象调用方法(get/set);
2、通过JSP的动作标记(get/setProperty)对JavaBean的属性进行设置和获取。
●JavaBean的有效期限
page、request、session、application。
●bean辅助类
JavaBean类中需要使用到的其他类叫做bean辅助类。
要调用需要把字节码文件放在同一目录。
第八章
●什么是Servlet
Servlet技术是JSP的根基,该技术的核心是在服务器端创建能响应用户请求的对象,被创建的对象就叫一个Servlet对象。
●Servlet保存目录
存放在\WEB-INF\classes\tom\jiafei(文件名)中。
(Java文件都是存放在此类目录中)
●Servlet的配置
在web.xml中进行配置。
Web.xml框架:
xmlversion=”1.0”encoding=”ISO-8859-1”?
>
●Servlet对象创建与运行
servlet对象由服务器创建,根据web.xml来创建。
第一次创建,之后是直接执行。
●servlet对象的工作原理
servlet生命周期主要有3个过程组成:
1初始化servlet对象,调用init()方法;(只执行一次)
2调用service方法响应用户请求;(每一次用户请求都会被调用)
3服务器关闭时调用destory()方法消灭servlet对象。
●通过JSP页面访问servlet的方法
1通过地址来访问;(书上没有)
2通过表单向servlet提交数据;在action指定
3通过超级链接访问servlet。
●共享变量
servlet成员标量就是类的成员变量,也是共享变量。
使用时加关键字synchronized。
●doGet和doPost方法
程序首次运行时服务器会创建servlet对象,之后当服务器再次收到一个servlet请求时,就会产生一个新线程,并在这个线程中让servlet对象调用service方法,service方法根据用户请求方式相应调用doGet或doPost方法。
这两个方法可以增加响应的灵活性,降低服务期负担。
●重定向与转发
重定向的功能是将用户从当前页面或servlet定向到另一个JSP页面或servlet;转发的功能是将用户对当前JSP页面或servlet对象的请求转发给另一个JSP页面或servlet对象。
重定向法法:
sendRedirect();
转发:
先得到RequestDispatcher对象,再转发。
●使用session
先获取,request.getSession(true),再使用。
第九章
●什么是MVC
模型-视图-控制器,简称MVC。
模型是用于存储数据的对象;(JavaBean)
视图是向控制器提交所需对象、显示模型中的数据;(JSP文件,负责数据的输入输出)
控制器负责业务的逻辑操作。
(servlet,从视图接收数据,并进行处理)