名扬数据:JSP动态网页程序设计详解

size列表区域高度(即可显示的选项数)multipl可选属性,说明:name名称。若有表示可选择多项。select一个可选属性,有表示该选项设置为已选中。

首先执行其中的顺序片段,JSP页面从形式上就是保守的网页HTML文件中加入Java顺序片段(Scriptlet和JSP标签。Servlet/JSP容器收到客户端发出的请求时。然后将执行结果以HTML格式响应给客户端。

基本语法:

注释:

1客户端可以看到注释:<!--comment[<%=expression%>]--> 可以在批注中加上动态的表达式)

2开发顺序员专用的注释:<%--comment--%> 或者 <%/**thiisacomment**/%>

声明:

<%!declaration;[declaration;]+...%>

将会共享此变量。会引起线程同步上的麻烦。不建议使用)该声明的变量为类变量。意味着:若同时有n个用户在执行此JSP网页时。

小脚本:

<%Java代码%>

不存在多线程同步问题,此类定义的变量为局部变量。线程安全的

表达式:

<%=express%>不能使用“作为表达式的结束符号。

JSP指令元素:

只是告诉JSP引擎对JSP页面如何编译。

page指令:设定整个JSP网页的属性和相关功能。

<%@pageattribute1="value1"attribute2="value2"...%>  

<jsp:directive.pagattribute1="value1"...>   

例如:

<%@pagecontentType="text/html;charset=utf-8"language="java"import="java.net.*"%> 

这个包括的过程是静态的注意包括文件中要避免使用<html><body>可能会导致错误。includ指令:用于指示JSP容器在JSP编译时插入一个包括文本或代码的文件。

<%@includefile="relativeURLspec"%>

<jsp:directive.includfile="relativeURLspec"> 

例如:

<%@includefile="Hello.html">  

taglib指令:

<%@tagliburi="tagLibraryURI"prefic="tagPrefix"%>

<jsp:directive.tagliburi="tagLibraryURI"prefic="tagPrefix"> 

JSP操作元素:

<jsp:include>  

<jsp:forward>  

<jsp:param>  

<jsp:useBean>  

<jsp:setProperty>  

<jsp:getProperty> 

request对象与网络信息的提交:

JSP中提供了request对象来接收客户端发送回来的数据。

◆URL一般语法:protocol://host:port/virtualPath?queryString

用于声明在远程机器之间传送信息的低层机制(httpftphttp等)◆protocol表示协议。

◆host表示请求要发送到远程机器的名称或者ip地址。

◆port声明服务器要监听请求的机器端口号。

服务器把它映射到一个物理路径和JSP位置。◆virtualPath包括一个以斜线为分隔符的一组标识符。

一个成对的名称和值的列表,◆querStr查询字符串。作为JSP参数被传递到处置它JSP页面。如果有多个参数需要传送,将以“&号分隔开成对的名称和值。

request对象所提供的方法:

获取路径和协议信息:

StringgetProtocol 获取通信所使用的协议和版本号(如:HTTP/1.1  

StringgetSchem  获取请求中的协议名称(如:HTTP  

StringgetPathInfo 获取请求中处于JSP路径和查询字符串之间的额外信息  

StringgetContextPath  

StringgetRequestURI  

StringgetServletPath  

StringgetRealPathStringpath 

获取主机和端口信息:

StringgetServerNam 获取响应请求的服务器名称。  

intgetServerPort         获取响应请求的服务器端主机端口号。  

StringgetLocalNam   获取响应请求的服务器端主机名。  

StringgetLocalA ddr     获取响应请求的服务器端地址。  

intgetLocalPort           获取响应请求的服务器端端口。  

StringgetRemoteA ddr 获取发出请求的客户端IP地址。  

StringgetRemoteHost 获取发出请求的客户端主机名。  

intgetRemotePort       获取发出请求的客户端主机端口。

获取查询字符串:

即URL中?后面的局部。StringgetQueryStr获取get方法传送的参数字符串。

获取查询字符串中的变量值:

StringgetParametStringname 获取客户端发送给服务器端的参数值。  

EnumergetParameterNam 返回请求中所有参数的集合。  

String[]getParameterValuStringname 获得请求中指定参数的所有值。 

例如:

http://localhost:8080/liuxl/jsp/querystring.jsp?str=JSP  

执行后s值为“JSPStrings=request.getParamet"str";获取变量str值。

注意:getParamet方法的返回值只能是字符串。若传递val=100则需要进行类型转换。

ifrequest.getParamet"val"!=null//判断字符串是否为空    

{        

       num=Integer.parseIntrequest.getParamet"val";//将字符串转化为整数    

}    

else   

{    

       num=0;    

}   

 

ifrequest.getParamet"val"!=null//判断字符串是否为空  

{     

       num=Integer.parseIntrequest.getParamet"val";//将字符串转化为整数  

}  

else  

{  

       num=0;  

表单及其在信息传送中的应用:

表单:

HTML为表单提供了多种图形用户界面组件元素 如文本框,一个能够包括表单元素的区域。密码框,下拉菜单等)这些表单元素能够让用户在表单输入信息,可以用它来构成表单内容,作为用户可以输入的域,并可以将其提交给一个JSP进行处置。

格式:

<formname=""action=""method="">  

...  

</form> 

其中:name用于指定表单的名称。action用于指定表单被提交时所要执行的动作。method指定传送请求给JSP所用的方法(GETPOSTPUT常用POST

1<input>标签 常用于输入信息或提交信息

语法:<inputtype=""name=""value="">

说明:type允许指定输入类型(text文本框)password密码框)checkbox复选框)radio单选按钮)imag图像域)reset重置按钮)submit提交按钮)name为表单元素的名称。valu为表单元素的初始值。

例如:

文本框:<inputname=""type="text"value=""size=""maxlength="">  

密码框:<inputname=""type="password"value=""size=""maxlength="">  

提交按钮:<inputname=""type="submit"value="">  

重置按钮:<inputname=""type="reset"value="">  

单选按钮:<inputname=""type="radio"value=""checked>

check可选属性,用于从一组选项中选择其中一个选项。如果有该属性,则表示该按钮显示时为被选中,否则为未选中。

e.g:<inputname="radiobutton"type="radio"value="1"checked>选项1  

<inputname="radiobutton"type="radio"value="2">选项2 

选中按钮1情况下提交URL如下:...?radiobutton=1...

复选框:<inputname=""type="checkbox"value=""checked> 

check同上。与单选按钮相似,用于从一组选项中选择多个选项。复选框常成组使用,与单选按钮不同的被选中的多个复选框都会被提交,因此其name可以相同(按数组处理)也可以不同(按不同变量进行处置)

e.g:<inputname="checkbox"type="checkbox"value="swim">swim  

<inputname="checkbox"type="checkbox"value="run">run 

则URL形式如下:...?checkbox=swim&checkbox=run..如果在提交时两个都选中。.

2<textarea>标签 声明了一个用户可以输入多行文本的区域

语法:<textareaname=""rows=""cols="">text</textarea>

说明:col为文本域宽度(字符数)row为文本域的高度(行数)

   

用户可以选择一个或多个选项3<select>标签 声明了一个可选项的列表。

<selectname=""size=""multiple>  

    <optionvalue=""selected>option</option>  

        ...  

    <optionvalue="">option</option>  

</select>