JSP笔记

JSP笔记
JSP笔记

J S P笔记-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

JSP(Java Server Page)

JSP是服务器端运行的页面,JSP本就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。

Jsp文件只需放在应用文件下就可以了。

JSP例子:

time

<%=new java.util.Date()%>

JSP运行过程

1,JSP文件先要翻译成Java文件(Servlet),在tomcat中翻译后的java文件在tomcat下的work\Catalina\localhost中相应名字的应用目录里。2,编译Java 文件3,运行.class文件Tomcat的全局配置文件

在Tomcat下的conf目录中的web.xml是服务器全局的配置文件,其中要想关闭列表显示叫要把

listings

false

Tomcat的管理员设置

在tomcat下的conf目录中的tomcat-use.xml文件中可以配置tomcat的用户角色

JSP的特点

1,JSP不需要编译

2,JSP不需要进行配置

3,JSP本质上就是一个Servlet

4,JSP是以静态页面为主的。

JSP的语法格式

<%=...%>表达式,写表达式时不要加上分号,表达式,翻译成Java代码也就是直接使用流输出,也就不能加分号了。

<%! int a=0; %>声明,使用声明的变量,所创建的变量是在service方法体外,也就是翻译成实例变量,声明也可以声明内部类或者是方法的声明。

<% if(a==0){ a=3;}%>代码片断,代码段会原样翻译。在代码段中声明的变量,就会被翻译的service的方法体中,也就是被翻译成局部变量。

前三种JSP的语法也叫做JSP代码,以上的表示方法,都有与之相对应的xml表达形式,因为可读性较差,所以较少使用。

<%@ ... %>JSP指令

<%@page import="...,..."%>引入包

<%include file="...."%>直接引入内容,这些内容会直接嵌入到页面中。

JSP的注释

<%https://www.360docs.net/doc/de1051143.html,ment[<%=expression %>.--%>

Eg.001:

<

JSP指令和JSP动作(标准的JSP标签)

JSP指令的语法

<%@... ....%>

<%@include file="...."%> 包含指令,包含指令会将要包含的文件代码原样输出到本页面(在翻译时把包含文件的内容引入并合并),不进行翻译,file属性制定要包含的文件的名字(注意要包含的文件的路径),这个指令可以实现页面的复用。

注意:<%@include file=" "%>要包含的JSP文件中不能定义重名的变量,如果不使用包含指令,那么JSP中的最小转换单元就是JSP文件,使用了包含指令就会将多个jsp的结果合并到一起。

<%@page ..%>页面指令

<%@page import="..."%> 引入包例:<%@page import="java.util.*,ent.*"%>(可出现多次)

<%@page pageEncoding="GBK"%>设定页面显示的字符集

<%@page contentType="text/html;charset=GBK"%>设置输出流的编码方式和文件格式。

注意:输出的字符集编码方式要和页面显示的字符集相同,一般定义输出流的编码方式,注意以上两个页面指令在JSP中最好只出现一次。注意在请求中传送的参数的值是中文的话需要调用请求request的

setCharacterEncoding("..")方法设置相应的编码方式,只适用于post请求,也可以通过Servlet的Filter来进行中文编码方式的处理。

<%@page language="java"%>指定JSP的脚本语言,现在只能写java

<%@page extends=".."> 指定翻译后代码类型的父类,最好不要使用这个指令<%@page session="true|false"%>指定是否自动创建Session,最好不自己指定,使用默认值

<%@page buffer=".." autoflush="true|false"%>设置输出的缓存和是否自动刷新缓存,一般情况下都使用默认值,缓存的默认值为8KB。

<%@page isThreadSafe="true|false"%>是否线程安全,默认为true,也就是线程安全,只使用默认值。

<%@page info=".."%>设置页面信息,一般不用

<%@page errorPage=""%>指定异常处理页面

<%@page isErrorPage="true|false"%>设定本页面就是异常后跳转的页面

<%@page isELIgnored="true|false"%>设定本页面是否忽略JSP2.0种EL表达式<%@taglib ..%> 标签库指令,用于引入自定义标签库

JSP动作

include动作是在翻译和编译后运行时进行响应的合并,也就是对应了Servlet中RequestDispatcher类的

include(ServletRequest request, ServletResponse response)方法。

include动作可以传递参数

在使用参数时,可以用request内置对象来获取参数的值。

forward动作对应的是Servlet中RequestDispatcher类的forward(ServletRequest request, ServletResponse response)方法,也就是把请求进行转发。

也可以写成

xxx/xxx.jsp

这种写法等价于上面的写法。

在使用Servlet的response的重定向sendRedirect(String location)方法在使

用时要包含应用的路径,注意,重定向会放弃这个请求,并向服务器发送一个新的请求,但是响应对象还是一个。重定向是用来避免重复提交的。

注意:对页面的刷新操作就会再一次运行程序,也就仿佛进行了再一次的提交一样,这也就是重复提交的问题,所以需要使用重定向来解决这个问题。

...

jsp:plugin动作可以使页面上运行applet,或者是使用java代码。

jsp:useBean动作,可以通过这个动作来使用java代码,id就是变量名,clss和type的区别在于,使用type是不会创建对象,而只是会先查找如果有该对象就会使用,如果没有就会抛出异常,class在没有该对象存在时,则会创建新对象。scope是用来保存实例的空间范围,page、request、session、application,由小到大,默认为page。

直接指定Bean属性的值,必须类型一致。

用表单中指定的参数来为Bean属性赋值,系统会自动作类型转换。

用表单中和Bean属性同名的标单项来给Bean属性赋值,这样写只会为指定的属性赋值

这种方式会自动用表单中的同名参数来为Bean的所有属性赋值

使用表达式来为Bean的属性进行赋值

取得指定的属性,这个动作不常用,一般用表达式代替

我们可以通过设置属性名的方法名也就是setXxxx()来控制属性的赋值,用form 表单的参数为Bean的属性赋值时,系统会自动的调用与之同名属性的setXxxx()方法,尤其是日期类型,可以通过使用这一方法来处理。

例:

import java.sql.*;

public class Person{

private Srting name;

private Date birthday;

public void setName(String name){

https://www.360docs.net/doc/de1051143.html,=name;

}

public void setBirthdayAsString(String birthday){

this.setBirthday(valueOf(birthday));

}

public void setBirthday(Date birthdays){

this.birthday=birthday;

}

}

add.jsp

toadd.jsp

JavaBean和EJB的区别

JavaBean是可视的或者是不可视的,不用部署,EJB是不可视的,需要部署到服务器中。

JavaBean部署在应用程序中, EJB是部署在容器中,可以是有状态或者是无状态的,声明式事务。

JavaBean的属性和方法是普通的,EJB是需要遵守规范,是需要通过标准的描述符来定义的。

JavaBean是基于事件驱动的,EJB中只有消息驱动Bean是基于事件的

注意:jsp:useBean动作,用表单为Bean的属性赋值时,也就是jsp:setProperty 动作直接收请求中表单的信息为使用的Bean的属性进行赋值,也就是说

jsp:useBean和jsp:setProperty不能够出现在为这个Bean的属性赋值的form表单的页面上。

JSP的异常处理

<%@page errorPage="xxx.jsp"%> 指定本页面出现异常后要转到的页面

<%@page iserrorPage="true"%> 见本页面指定为异常处理页面,也就是其他出异常的页面可以指定本页面为要转到的异常处理页面。

处理异常

运行时异常

1) 一个程序运行时重获的错误;

2) 能被一固有的异常对象引用所使用;

3) 可以利用异常引用创建或产生一个JSP页面显示异常信息给用户。

创建一个异常跟踪方案

1) 在每一个JSP页面,包含要创建的异常页面名称;

<%@page import="numberguess.NumberGuessBean" errorPage="error.jsp"%>

2) 创建一个异常页面;

<%@page isErrorPage="true"%>

JSP页面中的异常处理

1) <%=exception.toString()%> 打印异常名称;

2) <%exception.printStackTrace();%> 打印当前错误流中所有错误的列表;

3) <%=exception.getMessage()%> 打印错误的详细描述信息

JSP中异常页面的部署描述

404

notFound.html

https://www.360docs.net/doc/de1051143.html,ng.NumberFormatException error.jsp

JSP隐含内置对象

JSP中隐含内置对象

名称类型注释和范围

request javax.servlet.http.HttpServletRequest request response javax.servlet.http.HttpServletResponse response page https://www.360docs.net/doc/de1051143.html,ng.Object page

Exception https://www.360docs.net/doc/de1051143.html,ng.Throwable page

pageContext javax.servlet.jsp.PageContext page

韩顺平html笔记

HTML 一、HTML有关知识点 1.html介绍 html是一种标记语言,主要的用途是开发网页,使用html可以展现文字、图片、视频、声音,html是我们web开发(网站开发)。 2.html可以做什么 ?html可以编写静态网页 ?该静态网页可以包括文字、图像、动画、声音、表格、链接。从而构成一个个漂亮的网页 3.Html发展历史 4.Html的基本结构 5.是标记(也叫元素),标记的一般格式: <元素名[属性=“属性值”]>元素内容 如果没有内容可以用:<元素名[属性=“属性值”]/> 6.Html实体标记 7.Html常用标记

?html超链接 ●_blank 新的窗口 ●_self 本窗口 ●_parent 父窗口 ●_top整个浏览器窗口 ?html图像元素 ?html表格

--用于说明行 --用于说一小格
?无序列表
?有序列表
?框架 ?表单元素 文本框: 密码框: 单选框: 复选框:checked是指默认选中的 隐藏域: 图片按钮: ?文本域: ?下拉菜单: 案例:1 需求:打开网页后,显示hello !

New Document 问题: ?js的位置可以随意放 ?js必须使用 ?在一个html文件中(JSP/PHP/https://www.360docs.net/doc/de1051143.html,)可以出现多对(script)片段,浏览器会按照先后顺序一次执行 案例2:Hello world程序改进 ?如何定义变量: ?如何运算: New Document ?Js的变量类型是怎样决定的 1)Js是弱数据类型语言,即:在定义变量侍候,统一使用var表示,甚至可以去点var 这个关键字 2)Js中的变量的数据是由js引擎决定的 Var name=”shunping”; //name是字符串 Var kk=2 //kk是数字 Name=234; //这事name自动变成数 ?Js的命名规(函数/变量): 1)使用大小写字母,数字,$可以命名 2)不能以数字打头 3)不能使用js保留字和关键字(即java里的关键字) 4)区分大小写

《JSP笔记》之十(数据库)(新2009年10月20日)

《JSP笔记》之十 第七章JSP中使用数据库 在本章中,我们使用SQL Server 2000数据库管理系统。特别约定,建立新的数据库名为:student,在其下创建表:表1:student;表2:login 。 §7.1 SQL Server 2000数据库管理系统 §7.2 JDBC JDBC是Java数据库连接API,它由一些Java类和接口组成。在JSP中可以使用JDBC 实现对数据库中表记录的查询、修改、插入和删除等操作。JDBC技术在JSP开发中占有很重要的地位。经常使用JDBC进行如下操作: 1.与一个数据库建立连接 2.向已连接的数据库发送SQL语句 3.处理SQL语句返回的结果 §7.3 数据库连接的常用方式 应用程序必须首先与数据库建立连接。本节介绍常用的两种连接方式:建立JDBC-ODBC桥接器和加载纯Java数据库驱动程序。 §7.3.1 JDBC-ODBC桥接器 使用JDBC-ODBC桥接器方式与数据库建立连接,要经过:创建ODBC数据源――>建立JDBC-ODBC桥接器――>和ODBC数据源指定的数据库建立连接共3个步骤。1.创建ODBC数据源:步骤见教材,这里规定:数据源名:student,数据库名:student, 用户名:sa 密码:sa。 2.建立JDBC-ODBC桥接器 为了连接student数据源的student数据库,首先要建立一个JDBC-ODBC桥接器:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 这里,Class是包https://www.360docs.net/doc/de1051143.html,ng中的一个类,该类通过调用它的静态方法forName加载sun.jdbc.odbc包中的JdbcOdbcDriver类来建立JDBC-ODBC桥接器。 建立桥接器时可能发生异常,因此捕获这个异常。所以建立桥接器的标准语句是:try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); } Catch(ClassNotFoundException e){ out.println(e) } 3.与ODBC数据源指定的数据库建立连接 编写连接数据库的Java代码不会出现数据库的名称,只能出现数据源的名字。先使用java.sql包中的Connection类声明一个连接对象,然后再使用类DriverManager调用它的静态方法getConnection创建这个对象: Connection con=DriverMagager.getConnection(“jdbc:odbc:数据源名字”,”login name”,”password”); 其中login name 和password 是建立数据源时所使用的用户名和密码。 建立连接时应捕获SQLException异常: try{ Connection con=DriverManager.getConnection(“jdbc:odbc:student”,”sa”,”sa”); }

韩顺平html+css+js之JS笔记

韩顺平html+css+js 之JS笔记 Javascript的基本介绍 ?JS是用于WEB开发的脚本语言: ?脚本语言是什么: ?脚本语言不能独立使用,它和HTML/JSP/PHP/https://www.360docs.net/doc/de1051143.html,配合使用 ?脚本语言也有自己的变量,函数,控制语句(顺序,分支,循环) ?脚本语言实际上是解释性语言(即在执行时直接对源码进行执行) ?Java程序.java→.class→jvm , js→浏览器(js引擎来解释执行) ?Js在客户端(浏览器)执行 ?因为js是由浏览器来执行的,因此这里有个问题,不同类型的浏览器可能对js的支持不一样。 New Document 案例:1 需求:打开网页后,显示hello !

New Document 问题: ?js的位置可以随意放 ?js必须使用 ?在一个html文件中(JSP/PHP/https://www.360docs.net/doc/de1051143.html,)可以出现多对(script)片段,浏览器会按照先后顺序一次执行 案例2:Hello world程序改进 ?如何定义变量: ?如何运算: New Document ?Js的变量类型是怎样决定的 1) Js是弱数据类型语言,即:在定义变量侍候,统一使用var表示,甚至可以去点var这 个关键字 2) Js中的变量的数据是由js引擎决定的 Var name=”shunping”; //name是字符串 Var kk=2 //kk是数字 Name=234; //这事name自动变成数 ?Js的命名规范(函数/变量): 1) 使用大小写字母,数字,$可以命名 2) 不能以数字打头 3) 不能使用js保留字和关键字(即java里的关键字) 4) 区分大小写 5) 单行注释:// 6) 多行注释:/*…….*/ 韩顺平JS第三讲

jquery学习笔记-韩顺平

1,Jquery是一个javascript框架或者叫做javascript库; 2,用Ajax我们可以给服务器发送一个请求,服务器可以给我回送一个请求; 3,出现javascript框架的根本原因就是为了提高开发者的开发效率; 4,jquery是一个轻量级的js库(压缩后只有21K),这是其他的js库所不及的,它兼容CSS3,还兼容各种浏览器; 5,JQuery是一个快速的,简洁的javascript库,使用户能更方便的处理HTML document,events,实现动画效果,并且方便的为网站提供AJAX交互; 6,JQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 7,jquery能够使用户的html页保持代码和html内容的分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可; 8,所谓的库就是提供一些现成的方法供你去调用; 9,当前流行的javascript库有: Jquery ,MooTools,Prototype,Dojo,YUI,EXTJS,DWR[主要是运行在服务器上的]; 10,$(document) //---这个表示一个jquery对象; 11,如果使用jquery,则需要引入jquery库 12,jquery对象就是对dom对象的一系列包装,它包装完成后,就可以使用jquery对象提供的方法来进行操作; 13,在使用jquery开发中,有两种对象,1,jquery对象,2,dom对象,如果是jquery对象则只能使用jquery库提供的方法,如果是dom对象,则只能使用js本身提供的方法; 14,分析jquery库文件的运行原理: