客户端(client)与服务器端(server)的概念
服务器:广义地说,服务器分两种(硬件服务器、软件服务器)
硬件服务器:指相对PC机而言,性能和稳定性较好的、采用特殊硬件的计算机。
软件服务器:通俗的说,就是指安装了某种服务软件,并能提供相应的服务的机器,我们称之为服务器。
服务软件有很多种,常见的有:
WWW服务的软件:pWS、IIS、APACHE
J2EE中间件应用服务器:websphere、silverstream
JSP引擎(弱的WWW服务功能):TOMCAT,resin,weblogic,jrun
SMTP、 POP3:iis的smtp,exchange,lotus domino
FTP:iis所自带
客户端:相对服务器来说,就是享受了某种服务的一方,被称之为客户端。但若要享有某种服务也必须安装相应的软件,
如(IE/NETSCAPE、OUTLOOK/FOXMAIL、CUTEFTP)
数据类型
基本类型有以下四种:
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float长度数据类型有:单精度(32bits float)、双精度(64bits double)
boolean类型变量的取值有:ture、false
char数据类型有:unicode字符,16位
对应的类类型:
Integer、Float、Boolean、Character、Double、Short、Byte、Long
转换原则:
从低精度向高精度转换
byte 、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换
基本类型向类类型转换
正向转换:
通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);
反向转换:
通过类包装器来转换
int b=a.intValue();
类类型向字符串转换
正向转换:
因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
反向转换:
通过类包装器new出一个新的类类型的变量
eg1: int i=Integer.valueOf(“123”).intValue()
说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:Double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
基本类型向字符串的转换
正向转换:
如:int a=12;
String b;
b=a+””;
反向转换:
通过类包装器
eg1:
int i=Integer.parseInt(“123”)
说明:此方法只能适用于字符串转化成整型变量
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:Double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
JSP基本指令
1.脚本标记声明将要用到的语言:<%@.page language=”java”%>指明jsp指令,表明后面的脚本代码将采用java语言语法
引用包中的类:<%@.page import=”java.util.*”%>表示要用到java.util包里的类
声明变量:<%! int count=0;%>声明一个整形变量,并赋初值0
声明方法:<%! int show(int val){
{return val;}
%>
输出表达式:<%=2*X%>直接输出表达式的值,X必须是前面已声明过的变量(不能用分号),相当于asp中的<%=%>
jsp注释符:<%--Here are comments--%>表示是Jsp注释,在服务器端将被忽略,也不转化为HTML的注释,在客户端查看源码时是看不到的。
包含另一个jsp文件:<%jsp:include page=”another:jsp”%>表示在当前页面插入另一个文件another.jsp的内容
普通的jsp语句:
<% for(int i=0,i<10,i++)//jsp的正文部分
out.println(i+”<br>”);
%>
2.指令---Jsp的指令有page、include两种page指令(属性:6个)language属性:
<@ page language=”java” %>//指明所用的的语言
import属性:
<@ page import=”java.util.*” %>//载入包
注意:在java中,要载入多个包,就用import分别指用,并用分号隔开;
在jsp中,如用一个import指明多个包,用逗号隔开。
如:<%@ page import=”java.util.*,java.lang.*”%>
也可<%@ page import=”java.util.*”%>
<%@ page import=” java.lang.*”%>(但不主张这样用,不规范。)
session属性:
<@ page session=”true or false” %>缺省情况下session的值为true
如:<%@ page session=”true”%>
<% if(session.getValue(“name”)==null)
session.putValue(“name”,”123456”);
else session.putValue(“name”,session.getValue(“name”)+”1”);
%>
<% out.println(session.getValue(“name”));%>若session=”false”,则会出现编译错。
errorPage属性:
指当前页面程序发生错误时,由errorPage指定的程序来处理
写法: <@ page errorPage=”errorPage.jsp” %>
如:
test.jsp: <%@page errorPage=”errorPage.jsp”@>
<%!int i=0;%>
<%=7/i%>
errorPage.jsp: <%@page isErrorPage=”true”@>
<%=exception%>
运行test.jsp,将会看到被0除的错误信息。
isErrorPage属性:
指明了当前程序是否为另一程序的例外处理程序。不论它是否设置,例外都会导向当前程序,
问题在于当前程序能否得到此例外的对象。如设定为true,将会产生发生的例外的一个对象exception,
并可以在代码中使用它;若设定了false,使用exception程序将将会在编译时出错。
如:将上例的true改为false,将会出现以下错误:
Error:500
Unable to compile class for JSP
写法:<%@page isErrorPage=”true”@>
contentType属性:
指定了MIME的类型和JSP文件的字符编码方式,它们都是最先传送给客户端。
MIME类型有:text/plain、text/html(缺省类型)、text/html、image/gif、image/jpeg、image/jpeg
缺省的字符编码方式:ISO8859-1
include指令作用:是用来向当前页中插入一个静态文件的内容,这个文件可能是html文件、
jsp文件或其它文本文件,格式如下:
<%@ include file=”include.inc”%> 如: native.jsp: <body> native file start here.<br> <%@ include file=”include.inc”%> native file end here.<br> </body> include.inc: include file start here.<br> <%! String str=”Here is include’s context!”;%> <% out.pringln(str+”<br>”);%> include file end here.<br>
运行native.jsp,结果如下:
native file start here.
include file start here.
Here is include’s context!
include file end here.
native file end here.
注意:因为include.inc文件是在编译时才插入的,所以只改 include.inc文件内容,
而不对原JSP页面做修改,得到的结果仍将是以前的结果。(因为一开始JSP引擎就判断了
JSP页面没被改动过,就直接执行已存在的字节码,而不对源代码重新编译,这样对
include做的修改也就在这没有反映。)