大连交通大学JSP期末考试-知识材料点学习总结.doc

上传人:小** 文档编号:2769398 上传时间:2020-05-04 格式:DOC 页数:13 大小:85.42KB
返回 下载 相关 举报
大连交通大学JSP期末考试-知识材料点学习总结.doc_第1页
第1页 / 共13页
大连交通大学JSP期末考试-知识材料点学习总结.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《大连交通大学JSP期末考试-知识材料点学习总结.doc》由会员分享,可在线阅读,更多相关《大连交通大学JSP期末考试-知识材料点学习总结.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JSP各章知识点总结去年考试题型:一、选择题(2分15=30分)二、填空题(1分15=15分)三、读程序写结果(3分5=15分) JavaBean(2分10=20分)四、程序填空 数据库(2分10=20分)第一章JSP简介1.8080是Tomcat服务器默认占用的端口。2.如果Tomcat服务器的安装目录是:Dapachetomcat5.5.20,那么Tomcat的web服务目录的根目录是:Dapachetomcat5.5.20webappsRoot3.用户访问JSP页面,在浏览器键入Tomcat的IP地址、端口号、JSP页面的名字例如:IP:192.168.1.200 名字:example

2、1 则用户在浏览器中键入的内容为:http:/192.168.1.200:8080/ example 14. Tomcat服务器安装目录的webapps目录下的任何一个子目录都可以作为一个web服务目录5.JSP与Java Servlet的关系 JSP技术屏蔽了Servlet对象的创建过程,使得Web程序设计者只需关心JSP页面本身的结构和设计好的各种标记,比如使用HTML标记设计页面的视图,使用Javabean标记有效地分离页面视图和数据库。第二章JSP语法1.JSP页面:在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面 普通的HTML标记符 JSP标记,如指令

3、标记、动作标记2.JSP页面的组成 变量和方法的声明 Java程序片 Java表达式3.在“”标记符号之间声明变量和方法4.成员变量:在“”标记符之间声明变量,这些变量称为JSP页面的成员变量(只被初始化一次,被所有共享) 局部变量:在“”之间插入Java程序片,在程序片中声明的变量称为JSP页面的局部变量(每个用户所对应的局部变量不同)5.在“”插入一个表达式(不可插入语句,“%=”是一个完整的符号。“%”和“=”之间不要有空格),这个表达式必须能求值,表达式的值是由服务器负责计算的6. JSP中的注释: (1)HTML注释:在标记符“”之间加入注释内容 JSP引擎把HTML注释交给客户,因

4、此,通过浏览器查看JSP页面源文件时可以看到HTML注释7.JSP注释:在标记符号“”之间加入注释内容。JSP引擎忽略JSP注释8.Page指令标记: (1)Page在指令用来定义整个JSP页面的一些属性和这些属性值,属性值用单引号或双引号括起来。(2)Page指令的作用对整个JSP页面都有效,与其书写位置无关,习惯把Page指令写在JSP页面最前面,可以多次出现。(3)Page指令标记可以指定如下属性的值: ContentType、import、language、session、buffer、autoFlush、isTreadsafe、pageEncoding 1)ContentType属性

5、 如果希望客户的浏览器启动HTML解析器来解释执行所接收的信息,设置Content Type属性的值 如果希望客户的浏览器启用本地的MSWord应用程序来解释执行收到的信息,设置ContentType属性的值 如果不使用Page指令为ContentType指定一个值,则ContentType的属性默认值是:“text/html;charset=ISO88591” JSP页面使用page指令只能为Content Type指定一个值,不允许两次使用page指令给ContentType指定不同的属性值。2) language属性: 该属性用来定义JSP页面使用的脚本语言,该属性的值只能取“java”

6、(默认值) 3)import属性: 该属性的作用是为JSP页面引入运行环境提供的包中的类,可以为该属性指定多个值4)session属性: 该属性用于设置是否需要使用内置的session对象,取值为true(默认值)或false5)buffer属性 内置输出流对象out负责将服务区的某些信息或运行结果发送到客户端显示。Buffer属性用来指定设置的缓冲区的大小或不使用缓冲区。Buffer的默认值是8KB,可以取值“none”(不使用缓冲区)6)autoFlush属性:该属性用来指定out的缓冲区被填满时,缓冲区是否自动刷新。取值true(默认值)或false。7)isThreadSafe属性:该

7、属性用来设置JSP页面是否可以多线程访问。取值true(默认值)或false。8)info属性:该属性的属性值是一个字符串,其目的是为JSP页面准备一个常用且可能需要经常修改的字符串,可以在JSP页面中使用方法: getServletInfo();获取info属性的属性值: 例9 P239)include指令标记:(先插入再编辑) include指令标记作用在JSP页面出现该指令的位置处静态的插入一个文件。被插入的文件必须是可访问的和可使用的。静态插入:当前JSP页面和插入的部分合并成新的JSP页面,该页面必须符合JSP语法规则,而后JSP引擎再将这个新的页面转译成Java类文件。includ

8、e指令可以实现代码的复用。9.include动作标签 或 param字标记 动态插入即JSP页面运行时才将文件加入10.param动作标签 param标记以“名字值”的形式为其他标记提供附加信息 param标记不能独立使用,需要作为jsp:include、jsp:forward、jsp:plugin标记的子标记来使用。11. forward动作标签 或 param字标记 该指令的作用是:从该指令处停止当前页面的继续执行,而转向执行page属性指定的JSP页面。12.plugin动作标签 使用plugin动作标记可以保证客户浏览器能执行Java applet程序。 该动作标签指示JSP页面加载J

9、ava plugin,该插件由客户负责下载,并使用改插件来运行Java applet程序。 13.usebean动作标签 该标签用来创建并使用一个JavaBeanSun公司的倡导是:用HTML完成JSP页面的静态部分,使用JavaBean完成动态部分,实现真正意义上的动静态分离第三章JSP内置对象1.JSP的内置对象有:request、response、session、application、out2.HTTP协议的核心是:请求和响应3.HTTP包括请求行、头域、可能的信息体4.request对象 客户通常使用HTML表单向服务器的某个JSP页面提交信息,表单的一般格式: 提交手段其中,FOR

10、M是表单标记,method的取值为get或post,区别是:使用get方法提交的信息会在提交的过程中显示在浏览器的地址栏中,而post方法提交的信息不会显示在地址栏中。Request对象可以使用getParameter(String S)方法获取该表单通过text提交的信息Request.getParameter(“boy”)5.处理汉字信息 避免出现汉字乱码问题有两种解决方法: 1)使用page指定Context Type属性的值时 即将其中出现的Charset中的首写字母大写。2) 即将其中出现的charset中的首写字母小写。然后内置对象request将获取的信息重新编码,即用ISO-8

11、859-1编码,并存放到字节数组中;再将数组转化成字符串对象。 String str=request.getParameter(boy);byte b=str.getBytes(ISO-8859-1);str=new String(b);6.处理HTML标记(1)标记格式: 数据提交手段部分 表单标记经常将下列标记作为表单的子标记,以便提供提交数据的手段,这些标记都以GUI形式出现,方便用户输入或选择数据。(2)标记作用:指定表单数据的输入方式以及表单的提交键格式:GUI类型:text(文本框)、checkbox(复选框)、submit(提交键)、reset(重置)等1)文本框text当输入对

12、象的GUI类型是text时,除了用name为text指定名字外,还可以为text指定其他一些值,比如:input type=“text” name=“me” value=“hi” size=“12” algin=“left”如果用户没有在文本框中输入任何信息,就单击表单中的提交键,request将调用getParameter方法获取由value指定的值,如果value未指定任何值,getParameter方法获取字符串长度为0,即该字符串为“”。 2)单选按钮radioRequest对象调用getParameter方法,获取被选中的radio中value属性指定的值。Checked如果取值是一

13、个非空的字符串,那么该单选按钮的初始状态就是选中的状态。如果几个单选按钮的name取值相同,那么同一时刻只能有一个被选中。3)复选框checkbox 复选框与单选按钮的区别就是可以多选,即如果几个checkbox的name取值相同,那么同一时刻可有多个checkbox被选中。4)口令框password 它是输入口令用的特殊文本框,输入的信息用“*”回显,防止他人偷看口令。口令框仅起着不让别人偷看的作用,不提供加密措施。5)隐藏hidden此时没有可见的输入界面,表单直接将中valuve属性的值提交给服务器。6)提交键submit 为了能把将表单的内容提交给服务器,一个表单至少要包括一个提交键。

14、7)重置键reset 为了将表单中输入的数据清空(3)和标记下拉列表和流动列表通过和标记来定义,将作为子标记来形成下拉列表和流动列表。下拉列表的基本形式:在Select中增加size属性的值就变成流动列表。(正整数为流动列表可见的数目)(4)标记 表格以行列形式显示数据,不提供输入数据功能。 单元格中的数据 单元格中的数据 其中, 定义表格的一个行 或定义这一行中的表格单元,二者区别是定义的单元着重显示,称作普通单元,不着重显示;行中的着重单元和普通单元可以交替出现,也可以全是着重单元或普通单元。 中增加选项Border可指明该表格是否带有边框。7.状态代码及代码说明 200:请求成功202:

15、请求已被接受但还没有处理完毕404:请求的资源不可用500:服务器发生内部错误,不能服务8.Session对象 Tomcat服务器使用内置session(会话对象记录有关连接的信息) 同一个用户在不同的web服务器目录中的session是互不相同的9. Session和URL的重写 P5610.Session对象能否和客户建立起一一对应的关系依赖于客户的浏览器是否支持Cookie如果客户的浏览器是不支持Cookie,可以通过URL重写来实现 Session对象的唯一性,使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。11. appl

16、ication对象 该对象由服务器负责创建,每个web服务目录下的application对象被访问该服务目录的所有的用户共享,不同web服务目录下的application互不相同,即所有用户共享一个application对象。第四章JSP与JavaBean1.编写JavaBean,在类的方法命名上遵守规则:(1)如果类的成员变量名字是xxx,获取或更改成员变量的值,即获取更改属性,类中必须提供两个方法: getXxx(),用来获取属性xxx ;setXxx(),用来修改属性xxx 。也就是说方法的名字用get或set为前缀,后缀是将成员变量名字的首字母大写的字符序列。(2)对于boolean类

17、型的成员变量,允许使用is代替上面的get和set。(3)类中声明的方法的访问属性必须是public的。(4)类中声明的构造方法必须是public,无参数的。2.保存bean的字节码首先:在当前Web服务目录下建立子目录结构:WEB-INFclasses。 其次:根据类的包名,在classes下再建立相应的子目录,如包名为tom.jiafei,那么在classes下建立子目录结构:tomjiafei 。 最后:WEB-INFclasses被启用后,就可以将建立bean的字节码文件,比如Circle.class,复制WEB-INFclassestomjiafei中。例如,ch4WEB-INFcl

18、assestomjiafei中。3.创建和使用bean 在使用bean的JSP页面中,必须有相应的import指令,例如: 然后在JSP页面中再使用JSP动作标记useBean,来加载使用bean、useBean。语法格式如下:或创建bean的类要带有包名,如:class“tom.jiafei.Circle”例如:4. useBean标签中scope的取值(1)scope取值page此时,bean有效范围是当前页面,不同用户的scope取值是page的bean是互不相同的,即当两个用户同时访问一个JSP页面时,一个用户对自己bean的属性改变,不会影响另一个用户(2)scope取值sessio

19、n此时,bean的有效范围是客户的会话(session)期间,实现两页面bean对象共享,当两用户访问一个JSP页面时,不会有相互影响。(3)scope取值request 此时,bean的有效范围是request期间,一个用户对自己的bean改变不会影响到另一个用户 。 (4)scope取值application JSP引擎分配给每个客户一个共享的beans,即不同的用户的scope取值是application的bean也都是相同的一个,若一个客户改变其中某个属性值,其他客户的属性值也跟着发生变化。5.getProperty动作标记 使用该标记可以获得bean的属性值,并将这个值用串的形式发个

20、客户的浏览器,使用getProperty之前必须使用usebean获得相应的bean。 或 name取值是bean的名字,用来指定要获取哪个bean的属性的值; property取值是该bean的一个属性的名字,该指令相当于Java表达式: 6.setProperty动作标签 使用setProperty动作标签 可以设置bean的值,有两种方式: (1)将bean属性的值设置为一个表达式的值或字符串(属性值为汉字时,使用此种方式)表达式:jsp:setProperty name=“bean的名字” property=“bean的属性” value=“” /字符串: (2)通过HTTP表单的参数

21、的值来设置bean的相应属性的值 HTTP所有参数的值来设置bean的相应属性的值 明确bean的某个属性设置为表单中对应的参数值 例5、6 P9192例子第五章Java Servlet基础1.Java Servlet核心思想就是在服务器端创建能响应用户请求的对象,创建servlet对象。HttpServlet类实现了Servlet接口,实现了响应用户的方法。2.部署Servlet (1)字节码的保存 首先,在当前的web服务目录(在webapps下建立的ch7)下建立如下的目录结构: ch7WEB-INFclasses。再根据Servlet类的包名,在classes下再建立相应的子目录。比如

22、Servlet类的包名为star.moon,那么在classes下建立子目录starmoon。为了让Tomcat服务器启用上述目录,必须重新启动Tomcat,重启后将Servlet类的字节码比如HelloBejing.class复制到ch7WEB-INFclassesstarmoon中。 (2)编写部署文件3. Servlet的生命周期一个servlet对象的生命周期三个主要过程:(1)初始化servlet,即创建一个servlet对象,该对象调用init方法完成初始化工作。(2)Servlet对象调用service方法来响应客户的请求。(3)当服务器关闭时,调用destroy方法,消灭ser

23、vlet对象。4.init方法(只被调用一次) 在Servlet中重写这个方法: public void init(ServletConfig config) throws ServletException(实现初始化)5.service方法(实现用户和服务器沟通) 可被多次调用,在Servlet类中可直接继承或重写这个方法:public void service(HttpServletRequest request HttpServletResponse response) throws ServletException , IOException6.destroy方法 一个Servlet类

24、可直接继承这个方法,不需要重写 public destroy()当服务器中止服务时,会执行destroy()方法,从而消灭servlet对象。7.通过JSP页面调用Servlet 通过表单向Servlet提交数据 P187 通过超链接访问Servlet P1898.doGet和doPost方法 HttpServlet类除了init、service、destroy方法外,还有doGet和doPost方法用来处理客户的请求并作出响应(get请求或post请求)。 在Servlet方法中根据用户的请求方式,对应地再调用doGet或doPost方法,因此,在Servlet类中,不必重写service方

25、法,来影响客户,直接继承service方法即可。我们可以在Servlet类中重写doGet或doPost方法来响应用户的请求,可以增加响应的灵活性,并降低服务器的负担。9.重定向与转发(1)重定向方法(SendRedirect)将用户从当前页面或servlet定向到另一个JSP页面或servlet;但不能将用户对当前页面或另一个Servlet的请求(HttpServletResponse对象)转发给所定向的资源,即,重定向的目标页面或Servlet对象无法使用request获取用户提交的数据。(2)转发(RequestDispatcher)和重定向方法不同的是,用户在浏览器的地址栏中不能看到f

26、orward方法转发的页面地址或Servlet的地址,只能看到该页面或Servlet的运行效果,用户在浏览器的地址栏中所看到的仍然是当前Servlet的地址。10.获取用户的会话 HttpSession session对象request调用getSession方法获取用户会话对象HttpSession session=request.getSession(true);一个用户在不同的Servlet对象中获取的session对象是完全相同的,但不同用户的session对象互不相同第六章基于Servlet的MVC模式1.模型视图控制器(modelviewcontroller)简称为MVC2.MVC

27、是一种通过三个不同部分构造一个软件或组件的理想办法(1)模型(model)用于储存数据的对象(2)视图(view)向控制器提交所需数据,显示模型中的数据(3)控制器(controller)负责具体的业务性逻辑操作在MVC模式中,模型、视图、控制器之间是松耦合结构,便于系统的维护和扩展。2.JSP中的MVC模式 模型:一个或多个JavaBean对象,用于存储数据 视图:一个或多个JSP页面,其作用是向控制器提交必要的数据和为模型提供数据显示 控制器:一个或多个Servlet对象,根据视图提交的要求进行数据处理操作,并将有关结果存到JavaBean中,然后Servlet使用重定向方式请求视图中的某

28、个JSP页面更新显示。jsp:getProperty name=“bean的名字” Property=“bean的属性”。第七章在JSP中使用数据库1.JDBC(Java DataBase Connectivity)是Java运行平台核心库中的一部分,提供了访问数据库的API,他由一些Java类和接口组成。2.使用JDBC进行的操作:(1)与一个数据库建立连接(2)向正连接的数据库发送SQL语句(3)处理SQL语句返回的结果3.JDBC-ODBC桥接器 应用程序和数据库建立连接的一种常见方式,使用JDBC-ODBC桥接器访问数据库的3三个步骤如下:(细节内容见书上P127-131) (1)建立

29、JDBC-ODBC桥接器 (2)创建ODBC数据源 (3)和ODBC数据源指定的数据库建立连接 4.使用纯Java数据库驱动程序是和数据库建立连接需要两个步骤 (1)加载纯Java驱动程序(2)和指定的数据库建立连接1)应用程序加载SQLServer驱动程序代码:try Class.forName(“com.microsoft.sqlserver. jdbc.SQLServerDriver); catch(ClassNotFoundException e) out.print(e); 2)和指定的数据库建立连接(本机连接) 假如SQL Server数据库服务器所在计算机IP:192.168.1

30、00.1所在的端口号是1433,应用程序要和SQL Server数据库服务器管理的数据库factory建立连接,有权访问factory的用户的ID和密码分别是sa、sa,则建立链接代码 Try String uri= jdbc:sqlserver:/192.168.100.1:1433;DatabaseName=factory;String user=sa;String password=sa; con=DriverManager.getConnection(uri,user,password); catchSQL Exception e5.查询操作(1)无论字段是何种属性,总可以使用getS

31、tring(int colmnIndex)或getString(String colmnName)方法返回字段值的串表示(2)当使用ResultSet的getXxx()方法查询一行记录时,不可以颠倒字段的顺序 例如不可以:rs. getFloat(4);rs. getDate(3);(3)查询种类: 1)顺序查询DatabaseMetadata metadata=con.getMetadata(); 2)随机查询获得可滚动的结果集首先获得一个Statement对象: Statement stmt=con.createStatement (int type,int concurrency);(t

32、ype的取值决定滚动方式)根据参数type、concurrency取值情况,stmt返回相应的结果集。 ResultSet re=stmt.executeQuery(SQL语句); Type的取值 P139 Public boolean absolute(int row);将游标移动到参数row指定的行号。 3)排序查询可以在SQL语句中使用ORDER BY子语句,对记录进行排序。例如按薪水排序查询的SQL语句如下:rssql.executeQuery(“SELECT * FROM employee ORDER BY salary “) 4)模糊查询 可以再SQL语句中使用操作符LIKE进行模

33、式匹配,使用“”代表零个或多个字符,用一个下划线“_”代替一个字符。比如,查询姓“张”的记录: rssql.executeQuery(“SELECT * FROM student WHERE 姓名 LIKE 张 “)6.更新、添加与删除操作 更新:UPDATESET=新值WHERE 添加:INSERT INTO 表(字段列表) VALUES(对应的具体记录)或INSERT INTO 表(VALUES(对应的具体记录)) 删除:DELETE FROMWHERE7.分页显示记录 CachedROWSetImp1类实现了CachedROWSet接口假设CachedROWSetImp1对象中有m行记录

34、,准备每页显示n行,则总页数计算公式: m/n余数0,则总页数= m/n的商+1; m/n余数0,则总页数= m/n的商;即,总页数=(m%n)=0?(m/n):(m/n +1)如果准备显示第n页的内容,应该把CachedROWSetImp1对象中的游标移动到第(n-1)*n+1行记录处。8.使用预处理语句PreparedStatement实现预处理功能作用:对于JDBC,如果使用Connection和某个数据库建立了连接对象con,则con可调用PreparedStatement(String sql)对sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,那么该对象调用下列方式可以是底层内部命令被数据库执行:ResultSet executeQuery()Boolean execute()Int execute Update()只要编译好了,PreparedStatement对象,那么该对象随时执行上述方法,显示提高了访问数据库的速度。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁