JSP课程总结

(一) Web基础知识
JSP课程总结_第1张图片
静态web页:由html标记构造的web页(基于文件构造),其文件拓展名为a.html
动态web页:含服务器控制程序的web
早期CGI:公共网关接口技术
脚本编程:PHP、ASP、JSP(基于java构造)
基于JSP构造web应用:

This is a web Abc

xyz<%动态编码%>

(二) Jsp基础
 Jsp运行机制
JSP课程总结_第2张图片
 JSP的优越性
1.利用java编程优势降低JSP脚本复杂度
2.跨平台
3.有较高的执行性能
4.有良好的逻辑体系结构

 JSP开发环境配置:
1.JDKbao (JAVA)
2.Tomcat服务器
3.Netbeans编码平台

(三) JSP-WEB动态运用
JSP课程总结_第3张图片
(四) JSP体系结构
1.简单问题:JSP页面程序(M+V+C)
M:模型,基于javaBean构建
V:视图,基于jsp构建
C:控制,基于servlet构建
JSP课程总结_第4张图片
2.复杂问题:JSP+java
Jsp:页面
java:业务计算(javaBean:用来构建主逻辑结构)+逻辑控制(servlet:用来实现逻辑结构)
JSP课程总结_第5张图片
(五) 脚本语言
 Html简介:
Html是一种用来制作超文本文档的简单标记语言,html的扩展名为.html或.htm.
html格式:

This is a html ……..

 HTML基本标签

标签是告诉浏览器这个文件是HTML文档。用于html文档的最前面,用来标志HTML文档的开始;放在HTML的最后边用来标识HTML的结束。 标签是文档的头部信息,说明一些文档的基本情况,如文档标题等,其内容不会显示在网页上。在此标签间课使用 标签HTML中的主体部分,可包含


等标签,它们所定义的文本、图像等将在网页中显示出来。 标签用来设定网页标题, 标签只能放在之间。

标签可以定义不同显示效果的标题,n表示标题的级数,取值范围为1-6,n越小,标题字号越大。可以使用属性align,用于设置标题文字的对齐方式,对齐方式有三种,即left、right、center。未设置该属性时默认为left

标签用来创建一个新的段落。

标签有多种属性,如align属性控制齐内容对其方式,clear属性控制图文混排方式等,align的取值与中align取值一致。

标签是预定格式标签,即在浏览网页时仍能保留在编辑工具中已经排好的形式显示内容,使用该标签时,默认字体为10磅 
  


:强制文本换行,但不会在行与行之间留下空行。


:加入一条横跨网页的水平线,
有多种属性用于设置水平线的宽度、长度及显示效果等。Size设置水平线的粗细,默认单位为像素;width设置水平线宽度,默认单位像素;noshade设置水平线有无阴影;align设置水平线对其方式;color设置水平线的颜色。

标签对通过设置属性来控制文字的字体、大小、样式和颜色。face用于设置字体样式;
Size设置字体大小,默认字体为3;color设置字体颜色

注释标签

文件分节标记

 列表
1.有序表

  1. 列表项1
  2. 列表项2
  3. …….
在ol标签中可以使用type、start属性。Type用于设置编号的品种,其取值为1(编号为数字1,2,3…..)、A(编号为大写字母A,B,C……)、a(编号为小写字母)、Ⅰ(编号为大写罗马字符)、i(标号为小写罗马字符) Start属性用于设置编号的开始序号,无论type取值是什么,start值只能是1、2、3等整数,默认值为1. 2.有序表:
  • 列表项1
  • 列表项2
  • ……. 在
      中都可以使用type属性,其中,属性用于设置当前列表项前的项目符号类型。Type属性取值如下:(1)disc:实心圆点,默认值。(2)circle:空心圆点。(3)square:实心正方形

       多媒体与超链接
      1.插入图像:

      插入图像 使用 标签可以为网页添加.gif .jpg .png等格式的图片,src制定图像文件路径,width图像宽度,height图像高度,hspace图像水平方向的边沿空白,vspace图像垂直方向的边沿空白,border图像边框厚度,align图像对齐方式,alt提示信息。

      2.插入视频
      也是使用标签,常用的属性有(1)dynsrc:指定视频的源文件路径;(2)loop指定视频循环播放次数。值为-1或infinite时表示无限次循环播放;(3)loopdelay:指定两次播放的时间间隔;(4)start:指定何时开始播放视频。默认值为fileopen,即在连接到含该标签的页面时开始播放,mouseover把鼠标移动播放区域之上时才开始播放;(5)controls:指定视频窗口下附加播放控制条。

      3.插入背景音乐:
      使用标签,主要属性有(1)balance:指定音乐的左右均衡。(2)delay:指定播放延时。(3)loop:指定音乐循环播放的次数。(4)src:指定音乐源文件的路径。(5)volume:指定音量

      4.插入超链接
      使用标签,主要属性为(1)href:指定链接地址,若是链接到网站外部,笔试为URL地址;(2)target指定现实连接目标的窗口,其值可取_blank:浏览器总在一个新打开未命名的的窗口中载入目标文档。_parent目标文档载入当前窗口的父窗口中。_self默认值,目标文档载入并显示在当前窗口中。_top清除当前窗口所有被包含的框架并将目标文档载入整个浏览器窗口。

       表格

      …….. ……..
      表格第一列标题 表格第二列标题
      表格第一行的第一个单元格内容 表格第一行的第二个单元格内容
      表格第二行的第一个单元格内容 表格第二行的第二个单元格内容
      常用属性: (1)border:设置表格边框宽度,值为非负数,为0边框不可见。 (2)cellspacing:设置单元格边框到表格边框的距离。 (3)cellpadding:设置丹阳类文字到单元格边框的距离。 (4)width:设置表格宽度。 (5)height:设置表格高度。 (6)bgcolor:设置背景色。 (7)bordercolor:设置表格边框颜色。 (8)align:设置表格在水平方向的对齐方式。 (9)valign:设置表格在垂直方向的对齐方式。 常用属性: (1)align:设置该行单元格在水平方向的对齐方式。 (2)height:设置该行高度。 (3)bgcolor:设置该行单元格背景色。 (4)bordercolor:设置该行外边框颜色。 (5)valign:设置该行单元格在垂直方向的对齐方式。
      常用属性: (1)colspan:设置单元格所占列数,默认值为1。 (2)rowspan:设置单元格所占行数,默认值为1。 (3)background:设置单元格背景图像 (4)width:设置单元格宽度。

       框架

       表单设计:用于实现人机对话

       输入框

      Type的取值可为”submit”提交按钮 “reset” 重置按钮“passward”密码 “radio”单选等。

       选择框:有多少个选项就有多少个action

      a………….

       文本域
      …….

       CSS编程技术
      1.用途:设置页面统一风格
      2.样式设定方式:
      (1)标签设定:h1,h2{text-align:center;color:bule}
      (2)ID设定:#s1{font-family:宋体;font-size:bopt}

      …….


      (3)通过class设定:h1.center{text-align:center}.text{……}

      3.样式引用:
      (1)嵌入引用:


      (2)内联引用:添加在html的头信息标记符

      (3)外联式

       Javascript编程
      1.基本格式

      2.事件驱动
      格式:<标签……标签=”事件处理程序”[事件=”事件处理程序”……]>
      例如:
      经常引发的事件:
      (1)onfocus:窗口获得焦点时引发,应用于windows对象。
      (2)onload:文档全部载入时引发,应用于windows对象,写在标签中。
      (3)onmousedown:鼠标在对象上按下时引发
      (4)onmouseover:鼠标进入对象时引发
      (5)onmouseout:鼠标离开对象时引发
      (6)onmouseup:鼠标在对象上按下后弹起引发
      (7)onreset:重置按钮被单击引发
      (8)onresize:窗口被调整大小时引发
      (9)onsubmit:按提交按钮时引发
      (10)onunload:卸载文档时引发

      (六) JSP编码
       定义:服务器编码,在web服务器通过JDK包提供的运行环境,使用<%… %>标记
       服务器代码执行机制:
      服务器代码执行机制
       变量、方法的声明
      1.声明格式:<%! int x=0,y=1,z=2;%>或<% int x,int y>
      2.注意点:
      (1)声明以“<%!”或者“<%”开头,以“%>”结尾。
      (2)变量声明必须以“;”结尾
      (3)变量和方法的命名规则与java中的变量和方法的命名规则相同
      (4)可以直接使用在<%@page%>中包含进来的已经声明的变量和方法,不需要对其重新进行声明
      (5)一个声明仅在一个页面中有效。如果想多个页面都能使用到一些相同的声明,最好把他们写成一个单独的文件,然后用<%@include%>指令或jsp:include动作包含进来
       表达式
      1.格式:<%=expression>
      2.表达式常用在向页面输出内容、生成动态链接地址、动态指定form表单处理页面三种情况
      3.注意点:在“<%”与“=”直接不要有空格,表达式中没有分号
       脚本
      1.脚本语法格式:<%scriptlet % >
      2.脚本实例:
      <%@page contentType=”text/html” pageEncoding=”UTF-8”%>

      scriptlet实例 <% int x=1;%> <% if(x==1){ %> <% } else{ %> <% } %>
      欢迎登陆,您的权限是管理员!
      欢迎登陆,您的权限是普通用户!
       注释 1.隐藏注释:<%--comment--%>。在发布的网页和源文件中均看不到注释 2.html注释: 。在发布的网页中看不到注释,在源文件中可以看到注释 3.Java注释:<%/*comment*/%>或<%//comment%>。发布的网页和源文件中均看不到注释  JSP指令 1.page指令 Page定义:page指令用来定义jsp文件中的全局属性 Page属性: (1)language:指定jsp页面中使用的脚本语言,其默认值为java。例:<%@page language=”java”%> (2)extends:指定jsp编译器父类的完整限定名。例:<%@page extends=”javax.servlet.http.HttpServlet”%> (3)import:导入jsp页面使用的Java API类库。Import属性是所有page属性中唯一可以多次设置的属性,用来导入jsp页面中所用到的类。例: <%@page improt=”java.util.Date”%> (4)session:指定是否可使用session对象,若允许页面参与http回话,就设置为true;否则为false,其默认值为true。 (5)buffer:设定页面的缓冲区大小,属性值为none时表示禁用缓冲区,期默认值为8kb。例:<%@page buffer=”64kb”%> (6)autoFlush:用于指定jsp页面缓冲区是否自动刷新输出,其默认值为true。True表示页面缓冲区满时自动刷新输出;否则,当页面缓冲区满时抛出异常。 (7)isThreadSafe:用于指定jsp页是否能够处理一个以上的请求,如果为true,则该页面可以同时接收jsp引擎发出的多个请求;反之,jsp会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。其默认值为true。 (8)info:用于指定jsp页面的相关信息文本,无默认值。 (9)errorPage:指定错误页面 (10)isErrorPage:指定jsp页面是否为处理异常错误页面。 (11)contentType:用于指定内容MIME类型和jsp页面的编码方式 (12)pageEncoding:用于hidingjsp页面的编码方式,默认值为UTF-8

      2.include指令:预处理指令,静态包含,语法格式:
      <%@include file=”文件名”%>
      File属性用于指定插入的包含炉温的相对路径。
      3.taglib指令:用来核定页面中使用的标签库以及自定义标签的前缀,语法格式:
      <%taglib uri=”tagLibrryURI” prefix=”tagPrefix”%>
      uri属性用于指定标记库的存放位置
      prefix属性用于指定标记库中所有动作元素名中使用的前缀,无默认值。

       JSP动作
      1.jsp:param动作:

      name属性用于指定参数名称,不可以接受动态值
      value属性用于指定参数值,可以接受动态值

      2.jsp:include动作:

      page属性指定所包含资源的相对路径,可以接受动态值。
      flush属性指定在包含目标资源之前是否刷新输出缓冲区,默认值为false,不可接受动态值。

       include指令与include动作的区别:
      jsp:include动作和include指令之间的根本不同在于它们被调用的时间。jsp:include动作在页面请求期间被激活,而include指令在页面转换期间被激活。两者之间的差异决定这它们在使用上的区别。使用include指令的页面要比使用jsp:include动作的页面难于维护。jsp:include动作下哪个队与include指令在维护上有着明显优势,而include指令任然能够得以存在,自然在其他方面有特殊优势,这个优势就是include指令的功能更更强大,执行速度也少块。include指令允许所包含的文件中含有影响主页面的jsp代码,如响应内容的设置和属性方法的定义。

      3.jsp:useBean动作

      id属性指定该JavaBean的实例名称,不可接受动态值。
      scope属性指定Bean的作用域,即对象生存期。
      class属性指定bean的类路径和类名,不可接受动态值,这个class不能是抽象的。
      type属性指定引用该对象的变量的类型,即有关Javabean的基类或接口的名称。
      beanName属性用于指定Bean的名字,可以接受动态值。
      4.jsp:setProperty动作:设置属性

      name属性表示要设置的属性是哪个Bean实例的,不可接受动态值。
      property属性表示要设置哪个属性
      param属性指定用哪个请求参数作为bean实例属性的值
      value属性指定bean实例属性的值

      5.jsp:getProperty动作:得到值

      name属性指定要获取属性值的bean名称,不能接受动态值。
      property属性指定要获取的bean实例属性名,不能接受动态值

      6.jsp:forward动作:跳转到另一个页面

      page属性指定资源相对路径,可接受动态值

      (七) JSP内置对象
      JSP课程总结_第6张图片
      1.request对象
      request对象主要用于处理客户端强求传送的数据。
      request的常用方法:
      (1)getParameter(String name):用于获取表单提交的信息,以字符串形式返回客户端传来的某一个请求参数的值,该参数由name指定。
      (2)getParameterNames():用于获得客户端的所有参数值,其结果是一个Enumeration实例。
      (3)getCharacterEncoding():用于返回客户端请求中的字符编码方式。
      (4)getContentLength():用于以字节为单位返回客户端请求的大小。如果无法得到该请求的大小则返回-1.
      (5)getHeader(String name):用于获得HTTP定义的文件头信息中指定名字的值。
      (6)getHeaderNames():用于返回HTTP所有文件头信息。
      (7)getMethod():用于获取客户端向服务器端传送数据的方法。
      (8)getProtocol():用于获取客户端向服务器端传送数据所使用的协议名称。
      (9)getRequestURL():用于获取客户端的URL地址。
      (10)getRemoteAddr():用于获取客户端的IP地址。
      (11)getRemoteHost():用于获取客户机主机地址。
      (12)getServerName():用于获取服务器的主机名字。
      (13)getServerPort():用于获取服务器的端口号。
      (14)removeAttribute(String name):用于删除请求中的一个属性。
      (15)setAttribute(String name,Object obj):用于为request对象设置属性值。
      (16)getAttribute(String name):用于返回name指定的request对象的属性值,若不存在则返回null。
      (17)getAttributeNames():用于返回request对象保持的所有属性值,其结果集是一个Enumeration实例

      2.response对象
      response对象用于对向客户端发送数据,用户可以使用该对象将服务器的数据以HTML格式发送到客户端。
      response常用方法:
      (1)addCookie(Cookie cook):用于给用户添加一个Cookie对象,保存客户端的相关信息。
      (2)addHeader(String name,String value):用于添加带有指定名称和字符串的http文件头信息,该header信息将传送到客户端。如果该信息不存在就添加,存在就覆盖。
      (3)flushBuffer():用于强制把当前缓冲区所有内容发送到客户端。
      (4)getBufferSize():用于获取缓冲区的实际大小,如果没使用缓冲区则返回0.
      (5)getCharacterEncoding():用于获取响应的字符编码方式。
      (6)sendError():用于向客户端发送错误信息,如404指网页找不到错误。
      (7)sendRedirect():用于重新定向客户端的请求。
      (8)setCharacterEncoding():用于设置响应内容的字符编码方式。
      (9)setContentLength():用于设置响应内容的长度。
      (10)setHeader():用于设置指定名称和字符串的http文件头信息。
      3.session对象
      session对象处理客户端与服务器的会话,从客户端连到服务器开始,直到客户端与服务器断开连接为止。
      session对象常用方法:
      (1)getAttribute(String name):用于获取与指定名字相连系的属性,如果属性不存在则返回null。
      (2)getAttributeNames():用于返回session对象中存储的每一个属性对象。
      (3)getCreateTime():用于返回session对象被创建的时间。
      (4)getId():用于返回session对象在服务器端的编号。
      (5)getLastAccessedTime():用于返回和当前session对象相关的客户端最后发送请求的时间。
      (6)getMaxInactiveInterval():用于返回session对象的生存时间。
      (7)setAttribute(String name,java.lang.Object value):用于设置指定名字的属性值,并将它存在session对象中。
      (8)setMaxInactiveInterval(int interval):用于设置session的有效时间。
      (9)removeAttribute(String name):用于删除指定的属性。
      (10)isNew():用于判断目前session是否为新的session,若是则返回true,否则返回false。

      4.out对象
      out对象主要用于向客户端输出各种数据,同时管理应用服务器上的输出缓冲区。
      out对象的常用方法:
      (1)print()/println():用于输出数据。
      (2)newLine():永固输出一个换行符,实现换行功能。
      (3)flush():用于输出缓冲区里的数据。该方法先把缓冲区中的数据输出到客户端,而后清楚缓冲区中的数据。
      (4)clearBuffer():先清除缓冲区里的数据,然后把数据输出到客户端。
      (5)clear():用于清除缓冲区里的数据,但是不会把缓冲区中的数据输出到客户端。
      (6)getBufferSize():用于获取缓冲区的空间大小。
      (7)getRemaining():用于获取缓冲区剩余空间大小。
      (8)isAutoFlush():用于判断是否自动刷新缓冲区。
      (9)close():用于关闭输出流。

      5.pageContext对象
      pageContext对象提供了对jsp页面所有的对象及命名空间的访问,如访问out对象,request对象、response对象、session对象、application对象。
      6.exception对象(异常对象)
      exception对象用来处理jsp文件的异常,当一个页面在运行过程中发生了异常,就产生该对象。exception对象可以通过配合page指令一起使用。
      exception常用方法:
      (1)getMessage():用于返回描述异常错误的提示信息。
      (2)getlocalizedMessage():用于获取本地化错误信息。
      (3)printStackTrace():用于输出异常对象及其堆栈跟踪信息。
      (4)toString():返回关于异常的简短描述信息。

      7.application对象
      应用程序对象,公共对象,全局对象,共享对象。application对象最大的特点是没有生命周期,即不论客户端的浏览器是否被关闭,application对象任然存在于服务器上。
      application对象常用方法:
      (1)getAttribute(String name):用于返回application对象的指定属性值。
      (2)getAttributeNames():用于以Enumeration类型返回application对象属性的所有值。
      (3)getServerInfo():用于返回Server编译器的版本信息。
      (4)setAttribute(String name,Object obj):用于设定application对象的指定属性及其属性值。
      (5)removeAttribute(String name):用于删除application对象的指定属性及其属性值。

      (八) 访问数据库
       JSP程序通过JDBC访问数据库流程:
      JSP课程总结_第7张图片
       JDBC→ODBCd 访问驱动:
      JSP课程总结_第8张图片
       JDBC接口
      1.statement接口
      语法格式:
      Statement stmt= con.createStatement(type,concurrency);
      type属性用来设置结果集的类型,Concurrency属性用来设置结果集更新数据库的方式。
      type有三种属性:
      (1)ResultSet.TYPEFORWORD_ONLY:结果集的记录指针只能向下滚动;
      (2)ResultSet.TYPE_SCROLL_INSENSITIVE:结果集的记录指针可以上下滚动,数据库变化时,当前结果集不变;
      (3)ResultSet.TYPE_SCROLL_SENSITIVE(结果集的记录指针可以上下滚动,数据库发生变化时,结果集随之变动)。
      Concurrency属性有两种取值:
      (1)Result.CONCUR_REND-ONLY:不能用结果集更新数据库中的表。
      (2)Result.CONCUR_UPDATETABLE:可以更新数据库。

      2.PreparedStatement接口
      作用:将sql语句传给数据库作预编译处理,即在执行的sql语句中包含一个或多个in参数。
      例:PreparedStatement pstmt=connection.preparedStatement(“select * from student where 年龄>=? and 性别=?”);
      设置in参数语法格式:
      pstmt.setXXX(position,value);XXX为带设置数据的类型,position为in参数在sql语句中的位置,value指定该参数要被设置的值。
      例:pstmt.setInt(1,20)。

      3.ResultSet接口:
      ResultSet对象滚动查询的方法:
      (1)next():顺序查询数据。
      (2)previous():将记录指针向上移动,当移动到结果集第一行之前时返回false。
      (3)beforeFirst():将记录指针移动到结果集的第一行之前。
      (4)afterLase():将记录指针移动到结果集的最后一行之后。
      (5)first():将记录指针移动到结果集的第一行。
      (6)last():将记录指针移动到结果集的最后一行。
      (7)isAfterLast():判断记录指针是否到达记录集的最后一行之后。
      (8)isFirst():判断记录指针是否到达记录集的第一行。
      (9)isLast():判断记录指针是否到达记录集的最后一行。
      (10)getRow():返回当前记录指针所指向的行号。
      (11)absolute(int row):将记录指针移动到指定的row行。
      (12)close():关闭对象,并释放它所占的资源。

       更新数据库
      1.添加操作
      insert into student values(‘0001’,’david’,’male’);
      2.修改操作
      update student set 年龄=年龄+1;
      3.删除操作
      delete from stuInfo where 学号=’0001’;

       加载驱动
      Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDrive”);

    你可能感兴趣的:(JSP课程总结)