Java基本知识
System.out.print()(输出)
数据类型
基本数据类型Boolean布尔型
整形(字节型byte8位短整形short16位整形int32位长整形long64位)
字符型char16位
浮点型(单精度浮点型float32位双精度浮点型double64位)
数据类型转换byte-》short–>char->int->long->float->double
不能对blooean类型进行转化不能把对象类型转化成不相关的类型,把大容量的类型转化成小容量的类型必须使用强制转化
运算符和表达式
算术运算符,一元运算符+-++---二元运算符+-*/%
关系运算符。>>=>>>
赋值运算符=+=-=*=/=%=&=|=^=>=>>>=
条件运算符(表达式?语句1:语句2)表达式的值为真时执行语句1表达式为假是时执行语句2
运算符优先集.->[]->()->--->++->!->~->=->%->/->*->+->-->->>>->>>>->>->>=->==->!=->&->^->|->&&->||->?:->=运算符=
This关键字
Static关键字
接口
Interface后面跟接口名
接口实现的具体形式
Classclassnameimplements接口名
Jsp基础
Jsp页面中包括四类元素:注释指令元素脚本元素动作元素
注释元素包括以下几种(阴式注释不会在客户端显示)
Scriptlets脚本程序中的注释//和/***/
指令元素
包括三种指令页面(page)指令include指令taglib指令
页面指令page就是使用了import命令
用于定义jsp文件中的全局属性,常用
Include指令
通知容器在当前jsp页面中指定位置饱和另一个文件的内容,被包含的文件内容可以被jsp
include只有file这一个属性,file是指被包含文件路径(相对路径不需要指定端口和协议)include对于文件或是代码是一个静态的过程,在编译时就已经确定被包含的文件了
Taglib标签允许页面使用者自定义标签,首先用户要开发标签库编写配置文件*.tld然后在jsp页面里面使用自定义标签
脚本元素
声明(declatation)
声明就是就在jsp程序中声明合法的变量和方法用来表示
表达式(expression)
表达式就是位于之间的代码,实际表达式就是java里面的out.println方法
脚本小程序(scriptlet)
脚本程序就是他们是合法的java代码
动作元素
动作元素在请求处理阶段起作用,jsp规范了一系列的表中动作他们用jsp做前缀
文件导入标签被包含的文件,对象只有对jspwrite的访问权限不能设置头或者cookie
page用于指定被包含所在的位置,page里包含的内容可以动态改变的,它在施行时才确定flush=true表示清空缓冲区用于传梯一个或多个参数给动态页面.
允许将请求转发到另外一个jsp,servlet或者静态资源文件当中
Pge知名要定向的文件或uri地址,name是参数名value是参数值
用于在jsp页面中船检一个javabean实例,是一个java类封装了一些常用的复杂操做,
Id表示这个实例的名字
scope表示作用范围其中page可以在这个文件以及此文件的所有静态文件中使用,离开该页面则无效
request在请求上下文中创建该bean
session可以在session有效范围内使用,在创建bean的jsp文件里面page指令必须指定session=true
applicationbean存在于整个application生存周期内,任何分享application的jsp文件都能使用同一bean,application对象在应用服务器启动的时就创建了
typespec:则可以是以下四种之一,如果没有使用class或者beanname指定type则bean不会被实例化
1class=“classname“2class=“classname“type=”typename“3bean=“beanname“type=”typename“
4type=“typename“
Class=“classname“代表bean的类的路径和类名,这个class不能是抽象的,而且区分大小写
Beanname=“beanname“代表bean的名称,
Type=“typename”用于指定bean的类型,即可以是本生也可以是一个父类名称,或是一个接口
Java中set是设置也就是给与和输入的意思,get是得到也就是输出,jsp标签中的参数页面重的,属性是来之jspbean中的。
该动作用于设定java:bean的属性值,因此必须和usebena一起协作,
Name是用引入的javabean的名称,
property可以通过不同的方式来指定属性信息,
1propert=“*”这种赋值方式表示所有请求的所有参数值,用于匹配所有属性,bean中属性ingzi必须和request对象中的参数一样。
2Property=“propertyname”[param=”parametername”]这种赋值方式表示使用request中的一个参数来指定bean中的一个属性值,property指定bean属性名param指定request中的参数名
3property=“propertyname”value=”propertyvalue”表示使用指定的值来设定bean的属性,这个值propertyvalue可以是字符串和表达式不能在同一是与是相对应的操做,用于访问一个javabean的属性
\其中name对应的是中的id他们要相同,property是要获得的属性的名称
用来提供key/value的值,与等标签一起搭配使用
Name=代表该属性值表示参数的名字Value=表示参数的值
用于执行一个applet或者bean,用于在浏览器中播放或者显示一个对象(典型的有applet和bean),需要在浏览器中安装java插件。
Jsp内置对象
RequestresponsepageContextsessionapplicationoutconfigpageexception
常用的有requestresponsesessionapplication
请求对象request封装了用户提交的请求信息,通过调用该对象的方法可以获取相应的方法获取封装信息
包括:请求的来源,标头,cookies以及请求相关的参数主要方法有:
SetAttribute(Stringname.objectobjt)把objt作为名字为name的request参数的值
GetAttribute(Stringname)返回name指定属性的值
getAttributeNames()返回request对象所有属性的名字集合
getParameter(Stringname)获得客户传给服务器name的参数
getParameterValues(Stringname)获得name的所有值
其他方法:getMethod(),获得客户端传输方式getRequestURI()获得发出请求字符串的客户端地址,getHeader(Stringname)获得http协议定义的文件头信息,getProtocol()获取客户端向服务器传送数据所依据的协议名称getRemoteAddr()获得客户端的ipgetRemoteHost()获得客户端的主机名getRemoteUser()获得客户端的用户名getserverName()获得服务器的名字getServerPort()获得服务器的名字getContentType()获得mime类型getQueryString()获得客户向服务器查uxnde字符串getCookies()获得客户端所有的cookies对象一个cookies数组。getSession(Booleancreate)返回和请求相关的sessiongetServletPath()获得客户端所请求脚本文件的路径
应答对象response对客户的请求做出响应动作向客户端发送数据sendRedirect用来重定向和encodeUR用来从定向用户访问信息比较常用
sendRedirect(StringLocation)把响应的请求发送到另外一个位置处理
encodeURL()使用session来封装URL,返回客户端
输出对象out用来向客户端输出数据常用print()println()newline()
Print(),Println()输出某一类型的数据
newLIne()输出一个换行字符
会话对象session由服务器自动创建用于保存每个用户的信息,服务器通过session知道当客户端打开第一个浏览器并连接服务器,在服务器的几个页面之间反复连接刷新,这是同一个用户的请求。
常用方法getid()isNew()getAttribute()setAttribute()
getAttribute(Stringname)获得指定名字name相连属性的值
setAttribute(StringnameObjectvalue)设置指定名字name的属性值value存储在session对象中
removeAttribute(Stringname)删除与指定name相联系的属性值
getAttributeNames()放回session中存储的每一个属性对象,其结果为一个枚举的实例
getCreationTime()返回session被创建的时间,1970.1.1至今的秒数
getId()返回session标识
getLastAccessedTime()当前session对象相关的客户端最后发送请求的时间,最小单位为千分之一秒
Invalidate()销毁session对象使得和它绑定的对象都失效
isNew()检查客户端是否是一个新的客户端
getValue(Stringname)返回session中名为name对象的值name对象部存在则返回null;
页面索引对象pageContext代表当前页面运行的一些属性,所有内置对象都可以从pageContext中取得属性主要方法有:
Forward(StringUrlPath)把页面重定向到另外一个页面
getAttribute(Stringname[,intscope])scope参数是可选的,该方法用来检索一个特定的已命名对象的范围
getException()返回当前exception对象
getRequest()返回当前的request对象
getResponse()返回当前的response对象
getServletConfig()返回当前页面的servletConfig对象
getServletConfigtext()返回当前对象的serveltContext对象这个对象对所有页面都是共享的
getSession()返回当前页面的session
findAttribute()寻找在所有范围中属性名称为name的属性对象
setAttribute()设置默认页面范围或特定对象范围中的属性对象
removeAttribute()删除默认页面范围或特定对象范围之中的已命名对象
scope参数是4个常数PAGE_SCOPE代表page范围REQUEST_SCOPE代表request范围SESSION_SCOPE代表session范围APPLICATION_SCOPE代表application范围
全局应用程序对象application保存了一个应用系统中共有的数据,服务器启动后就产生了这个application对象,与session不同的是applicaton对象都是统一个即所有客户共享这个内置的application对象
常用方法;getAttribute()setAttribute()主要方法有:
getAttribute(Stringname)获取application对象中名为那么的对象
getAttributeNames()返回application对象所有属性的名字
setAttribute(Stringname,Objectobj)设置由name指定名字的application对象的属性值obj
配置对象config它表示Servlet的配置当一个Servlet初始化时,容器把某些信息通过此对象传梯给Servlet
常用方法getInitParameter()和getInitParamenterNames()通过他们可以获得Servlet初始化时的参数
getServletContext()返回执行者的Servlet上下文
getServletName()返回Servlet名字
getInitParameter(Stringname)返回名字为name的初始参数的值
getInitParameterNames()返回所有初始参数的名字
页面对象page对正在运行的jsp页面产生的对象。更准确的说它代表jsp被编译后的Servletpage对象只有当前jsp页面范围之内使用才是合法的类似java中的this主要方法有:
getClass()返回此Object的类
equals(Objectobj)判断此Object是否与指定的Object对象相等
copy(Objectobj)把此Object复制到指定的Object对象中
clone()克隆此Object对象
notify()唤醒一个等待的线程
notfyAll()唤醒所有等待的线程
wait(inttimeout)使一个线程处于等待直到timeout结束或唤醒
wait()使一个线程处于等待直到被唤醒
意外对象exception它是指页面运行时的意外该对象存储了jsp文件运行时所产生的意外信息,此对象一般部在jsp文件直接使用,如果需要使用必须在jsp文件中添加如下指令主要方法有
getMessage()返回描述意外的消息
toString()返回关于意外的简短描述消息
PrintStackTrace()显示意外以及其栈轨迹
FillIntrace()重写意外的执行栈轨迹
Jdbc数据库操做java连接数据库的简等于Sql语句+连接不同数据的方法
Sql语句
注意:Jsp中引用变量需要夹‘“++”’两个单引号中间加两个双引号中间在还有两个加号并且变量名一定要与加号之间有空格
Select语句查询
Select*fromcustomers
Selectcompanyname,phonefromcustomerswherecustomers>100andcustomersid<200;;
*代表所有列的数据,如果需要某几列数据以逗号隔开放个列名
使用as子句可以将某列以别名方式取出,orderby子句对结果集排序使用asc升序,desc降序
Where条件子句指定条件符合的数据可以使用
Update更新语句
UpdatecustomersSETcompanyname=’def.comwherecusomerid=100
Cutomers表名set后面跟需要跟新的列名和值,部加条件的话此列所有值都被更新了
Insert语句用来添加一行记录
Insertintocustomers(customerid,companyname,contactname,address)value(100,”abc”,”terrt”,”peking”)
只需配对列名和值,无需考虑数据库中列的顺序
Delete删除语句
Deletefromcustomerswherecustomerid=100;
Jdbc连接字
Jdbc-odbc桥,Stringstrcon=“jdbc:odbc:jspsamples”;
2Oracle8/8i/9i
Stringstrcon=”jdbc:oracle:this:@loachhost:121:jspsamples”;
其中this关键字表明采用this模式连接服务器,localhost指出了服务器地址,也可以是任何有效ip地址或者有效域名,1521是oracle监听端口jspsamples是oracle运行实例
3microsoftServer2000数据库
Stringstrcon=”jdbc:microsoft:sqkserver://localhost:1433;databaseName=jspsamples”;
Loacalhost服务器地址,1443服务器端口databaseName是数据库名
4Mysql
Stringstrcon=”jdbc:mysql://localhost:3306/jspsamples”;
维护数据库连接类Connection维护java应用程序与数据库之间的连接,连接过程包括执行sql语句和在该连接返回结果。一个应用程序可以与多个数据库连接。一般调用DriverManager.getConnection方法与数据库建立连接,该方法以一个连接字符串为参数,连接字符串表示了数据源url的概念
Stringurl=”jdbc:odbc:wombat”;
Connectioncon=DriverManager.getConnection(url,”terry”,”12345”);
Statementstmt=conn。createStatement();
ResultSetrs=stmt.executeQuery(“selectcustomersidformcustomers”);
Sql声明类Statement
Statement对象代表实际的sql语句,JDBCAPI提供三种Staement对象分别是:
|