Jsp基本语法

时间:2024.4.20

Jsp基本语法

1. Jsp语法的组成:脚本元素、指令元素和动作元素;

2. Jsp脚本元素:

a) 隐藏注释:Jsp注释:<%-- comment --%>;HTML中注释:<!—comment -->;

b) 声明语句:Jsp声明:<%! Declaration;%>或<%! 声明;[声明;]%>;(1)注意声明用

来定义一个或多个变量或方法,但并不输出任何文本;(2)声明语句必须在结尾以分号“;”结束,page指令中包含进来的变量或方法,不需要对其进行再声明;(3)被<%!--%>声明的变量为全局变量(方法)在整个页面有效,变量占用的空间知道服务器关闭后才释放;被脚本<%--%>声明的变量为局部变量,变量在一定的范围内有效;(4)对于多个页面都要使用到的变量,可以使用<%@ include%>或<jsp:include>包含进来;

3. Jsp脚本段(Scriptlets):<% code fragment%>包含了变量、表达式、方法和多个Jsp语

句;

4. 表达式(Expression):<%=expression%>,注意运算顺序为从左到右;

5. Jsp指令元素:描述了Jsp页面转换成Jsp容器所能执行的Java代码的控制信息;

a) 指令格式:<%@ 指令名 属性1=”值1” 属性2=”值2”…..%>

page指令:<%@ page

[language=”java”][extends=”package.class”][import=”{package.class|package.*},…..”][session=”true|false”][buffer=”none|8kb|sizekb”][autoFlush=”true|false”][isThreadSafe=”true|false”][info=”text”][errorPage=”relativeURL”][contentType=”mineType[;charset=characterSet]”|”text/html;charset=ISO-8859-1”][isErrorPage=”true|false”]%>注意:有些Java类默认导入的:java.lang.*;javax.servlet..*;javax.servlet.jsp.*;javax servlet.http.*;contentType属性指定返回浏览器的内容类型,属性值有:text/plain(纯文本页面),text/html(纯文本的HTML页面),text/xml(XML页面),application/x-msexcel(Excel文件)和application/msword(word文件),在该属性中指定返回页面中所使用的字符编码方式:charset=gbk等;如:<%@ page contentTypt=”text/html;charset=gbk2312”%>。Info属性设置的值,能够使用Servlet.getServletInfo方法取回。

b)include指令:<%@ include file=”relative url%>

c)taglib指令:<%@ taglib uri=”tagLibraryURL” prefix=”tagPrefix”%>,uri:统一资源标识符,指明标签的路径;prefix表示标签的前辍;注意:前辍不能是:jsp/jspx/javax/servlet/sun/sunw.

6. Jsp动作元素:Jsp预设Action Element标签;

a) JavaBean类:<jsp:useBean>:使用JavaBean,<jsp:setProperty>:设置JavaBean的属性,<jsp:getProperty>:获得JavaBean的属性;

b) 一般元素:<jsp:plugin>:载入javaApplet或javaBean,<jsp:forwor>:网页重新定向,<jsp:include>:载入Html或Jsp文件;

c) xml 2.0:<jsp:attribute>设置标签属性,<jsp:body>:动态设置XML标签主体,<jsp:element>:动态设置xml标签;

(1)<jsp:include>的语法:有参数和无参数两种:<jsp:include page=”relative URL” flush=”true|false”>和

<jsp:include page=”relative URL” fluse=”true|false”>

<jsp:param name=”attributeName” value=”attributeValue”/>

<jsp:param…..

</jsp:include>

注意:include指令时编译时包含,对象为静态;include动作元素:是执行时包含,对象为静态和动态;

(2)forword动作元素:只有page属性,其他的与include动作元素的语法格式一致;forword动作元素用于在服务器端结束当前页面的执行,并从当前页面跳转到其他指定的页面。转向的页面可以使HTML/jsp/Servlet类;简单的说:用于重定向。<jsp:forword>应用于登录,进行权限验证的页面。当验证成功,它吧页面forword跳转到success.jsp.如果不成功,它把页面forwor.d.jsp.重定向login.jsp页面重新进行验证。

(3)<jsp:param>元素用于向Jsp程序传递参数,由程序取得参数值,使用时必须要设置其name属性表示专递参数的名称,并通过value属性来设置该参数的值。设置元素的属性必须加上双引号” “.在jsp程序中通过内置对象request.getParameter(“name”);获得相应的参数值。

(4)<jsp:useBean>用来加载页面中使用的JavaBean。语法格式为:<jsp:useBean id=”beanInstanceName” scope=”page|request|session|application” class=”package.class”></useBean>.注意:id指定javaBean的实例变量的名称,scope指定该Bean变量的有效范围,page是指当前页面内有效,request是指任何执行相同请求的jsp文件中使用Bean,直到页面执行完毕。Session指从创建Bean开始,在相同session下的jsp页面可以使用Bean;application在相同application的jsp页面中使用Bean..

a)useBean的属性和方法:id命名引用该Bean的变量。注意:如果能够找到id和scope相同的Bean实例,该动作将使用已有实例不再创建实例。Scope设置Bean实例的有效性,class指定Bean的完整报名。type指引用该对象的变量类型。它必须是Bean类的名字、超类名字、该类所实现的接口名字之一.beanName是Bean的名字。如果提供了type和beanName,可以省略class属性。

(5)<jsp:serProperty>用于设置Bean的属性值。语法格式:<jsp:setProperty name=”beanInstanceName”{ property=”*”| property=”propertyName[param=”parameterName”]| Property=”propertyName” value=”{String|<%+expression%>}”}/>该动作用来设置已经实例化的Bean对象的属性。其语法格式:1.在jsp:useBean元素外面或后面使用jsp:setProperty ,此时不管现在使用Bean还是创建Bean实例,都要执行jsp:setProperty.。格式为:<jsp:useBean id=”myBean”…/><jsp:setProperty name=”myBean” property=”someProperty”…/>

2.只有新建Bean实例才会执行jsp:setProperty; 格式:<jsp:useBean id=”myBean”…/><jsp:setProperty name=”myBean” property=”someProperty”…/></jsp:useBean>

Jsp:setProperty属性和方法:name指定是那个Bean,(必须),property:该属性是必须的,表示要设置的哪个属性。如果property的值为*表示所有名字和Bean属性名字匹配的请求都将被传递给相应属性的set方法。value该属性可选的,指定Bean属性的值,string.valueOf方法转换为各类的数据类型,注意:value和param不能同时使用。Param属性可选的,指定哪个参数作为Bean的值,如果当前没有请求参数,则什么也不做,系统不会把null值传递个Bean属性的set方法。当Bean属性和Request参数的名字不同,需要指定property和param.

(6)jsp:getProperty用来获取Bean的属性值,在页面中显示。格式为:<jsp:getProperty name=”beanInstanceName” property=”propertyName”/>注意在使用jsp:getProperty前,必须要由jsp:useBean所创建的对象。不能使用该动作来检索一个已经被索引的属性。

注意:表单中的数据元素name一定要与JavaBean类的中的属性名一致。

(7)<jsp:plugin>操作元素的功能用于从Jsp页面中加载Java Applet 或JavaBean程序组件与HTML的<Applet>.<Object>标签类似。使用语法:<jsp: plugin type=”bean|applet” code=”classFileName” codebase=”classFileDirectoryName” name=”instanceName”

align=”left|right|top|middle|bottom” width=”” height=”” hspace=”horizontalSpace”vspace=”vericalSpace”archive=”archiveURL”><jsp:params<jsp:param name=”propertyName” value=”propertyValue”/></jsp:params><jsp:fallback>text message</jsp:fallback></jsp:plugin>.

Jsp:plugin元素的属性:type加载java程序的类型,code加载 java程序编译后的类型名称(*.class),codebase:编译后java程序类所在的目录。name:用来对加载Java Applet或Bean程序设置一个可以识别的名称。Hspace加载程序的显示区与其他网页内容的水平间隔。 <jsp:params>是表示要传递给加载的程序。


第二篇:linux下php、mysql、reids、gearman等基本环境搭建中遇到的问题总结


网卡配置

修改ONBOOT="no"中的no位yes,修改后为ONBOOT="yes"

添加下面配置项,其中的具体IP等配置需要根据实际情况修改

BOOTPROTO=static

IPADDR=192.168.1.113

NETMASK=255.255.255.0

GETEWAY=192.168.1.1

DNS1=192.168.0.1

1)使用终端输入 date 命令后出现乱码

进行下面操作

编辑/etc/sysconfig/i18n,修改为如下内容:

LANG="zh_CN.GB2312″

SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

SYSFONT="latarcyrheb-sun16"

修改完成后,推出终端重新登录

2)没有wget (下载工具,系统必须可以接入网络)

yum install wget

3)没有make (安装程序,系统必须可以接入网络)

运行yum install make

4)安装上传下载工具(rz/sz)

通过wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz 下载

解压:tar zxvf rzsz-3.48.tar.gz

运行:make posix

运行make posix时报错

[root@localhost src]# make posix

cc -O -DPOSIX -DMD=2 rz.c -o rz

make: cc:命令未找到

make: *** [posix] 错误 127

原因是没有安装gcc,运行下面命令(我只运行了前两个就可以用了,第三个命令没有试) yum install g++* -y

yum install gcc* -y

yum install glibc* -y

gcc安装完成后继续运行make posix 应该就可以安装完成了

复制rz/sz到bin目录下,命令:cp rz sz /usr/bin/

5)安装mysql时运行

cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/webserver/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_SSL=bundled \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1

命令时出现下方错误信息

-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:82 (MESSAGE):

Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. Call Stack (most recent call first):

cmake/readline.cmake:126 (FIND_CURSES)

cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)

CMakeLists.txt:250 (MYSQL_CHECK_READLINE)

执行下面命令,

运行安装:yum install ncurses-devel

运行安装:yum install bison

删除文件:rm CMakeCache.txt

启动mysql是报错(mysql安装过程中不需要配置开机启动)

ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock (运行后无效果)

把/usr/local/webserver/mysql/support-files/目录下的my-huge.cnf配置文件复制到etc目录下

之后使用/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --datadir=/data1/mysql/data --pid-file=/data1/mysql/data/bogon.pid启动或者使用/etc/init.d/mysqld start启动

安装php过程中

提示:configure: error: xml2-config not found. Please check your libxml2 installation. 运行:yum install libxml2

yum install libxml2 –devel -y

提示:configure: error: Cannot find OpenSSL's <evp.h>

运行:yum install openssl openssl-devel

提示:configure: error: Please reinstall the libcurl distribution -

easy.h should be in <curl-dir>/include/curl/

运行:yum install curl curl-devel

提示:configure: error: Cannot find ldap.h

运行:yum install openldap-devel

提示:configure: error: Cannot find ldap libraries in /usr/lib.

运行:cp -frp /usr/lib64/libldap* /usr/lib/

提示:configure: error: Directory /usr/local/webserver/freetds is not a FreeTDS installation directory

运行:在/usr/local/webserver/目录下安装一个freetds 下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz

$ tar zxvf freetds-stable.tgz(解压)

$ ./configure --prefix=/usr/local/webserver/freetds --with-tdsver=8.0 --enable-msdblib

$ make

$ make install

/usr/local/webserver/php/sbin/php-fpm启动php错误解决:

ALERT: [pool www] pm.min_spare_servers(0) must be a positive value

编辑php-fpm.conf找到pm.min_spare_servers 去除;号,注意非注释内容pm.min_spare_servers

ALERT: [pool www] pm.max_spare_servers(0) must be a positive value

编辑php-fpm.conf找到pm.max_spare_servers 去除;号,同样非注释内容pm.max_spare_servers

WARNING: [pool www] pm.start_servers is not set. It's been set to 20.

编辑php-fpm.conf找到pm.start_servers 去除;号,同样非注释内容pm.start_servers ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)

# netstat -ntlpps -ef|grep php查看进程,有N多进程

nobody 26152 26151 0 15:45 ? 00:00:00 php-fpm: pool www

nobody 26153 26151 0 15:45 ? 00:00:00 php-fpm: pool www

nobody 26154 26151 0 15:45 ? 00:00:00 php-fpm: pool www

nobody 26155 26151 0 15:45 ? 00:00:00 php-fpm: pool www

...........................

#killall php-fpm 结束所有php-fpm进程

再启动php-fpm

#/usr/local/php/sbin/php-fpm

成功

运行:./configure --prefix=/usr/local/webserver/Gearmand

报错:configure: error: Unable to find libevent

安装:gearman-1.0.2

运行:./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-gearman=/usr/local/webserver/Gearmand

报错:configure: error: Please install libgearman

运行:yum install libgearman-devel.i686 libgearman.i686

报错:configure: error: cannot find Boost headers version >= 1.39.0

运行:将boost安装目录中 lib/ 下的所有内容copy到/usr/lib 和 /usr/lib64下,同时 将 boost安装目录中 include/boost 软链到 /usr/include 中:

cd /usr/local/boost-1.47.0/lib

cp -rf * /usr/lib/;

cp -rf * /usr/lib64/;

ln -s /usr/local/boost-1.47.0/include/boost /usr/include/boost

报错:configure: error: cannot find the flags to link with Boost program_options

运行:ln -s /usr/local/boost/include/boost/ /usr/local/include/boost

ln -s /usr/local/boost/lib/libboost_program_options.so /usr/lib/libboost_program_options.so

报错:configure: error: cannot find the flags to link with Boost thread

运行:./configure --prefix=/usr/local/webservice/gearman --with-boost=/usr/local/webservice/boost/

(给手动指定boost库地址)

重新configure 后,出现别的错误:fatal error: uuid/uuid.h: No such file or directory

这是因为没有uuid库和头文件,需要安装e2fsprogs,试过yum命令安装,问题没解决,需要从源码编译

wget http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-1.41.14.tar.gz

tar xvzf e2fsprogs-1.41.14.tar.gz

进入e2fsprogs-1.41.14目录后执行

/configure --prefix=/usr/local/e2fsprogs

make

make install

然后把uuid目录拷过去

cp -r lib/uuid/ /usr/include/

再次configure ,错误消失,于是执行 make

又报错:

libgearman/.libs/libgearman.so: undefined reference to `uuid_generate'

libgearman/.libs/libgearman.so: undefined reference to `uuid_unparse' collect2: ld returned 1 exit status

问题在网上找到了解决方法,就是重新编译e2fsprogs并加入参数

cd e2fsprogs-1.41.14

./configure --enable-elf-shlibs

make

make install

cp -rf lib/libuuid.so* /usr/lib

查看Gearman所有软件包的安装情况

运行:ldd /usr/local/sbin/gearmand

更多相关推荐:
Jsp基本语法

Jsp基本语法Jsp语法分为3类脚本元素指令元素动作元素jsp的脚本元素有以下4个1隐藏注释lt这是客户端不可见的隐藏注释gt2声明declarationslt这是声明gt3脚本段scriptletslt这是脚...

jsp基本语法

Javaserverpage1jsp的生命周期第一次访问页面会比较缓慢1当页面第一次访问jsp的时候服务器就会将Jsp转换成servlet2调用service进行服务3关闭服务器的时候进行销毁2jsp的语法1j...

jsp知识点总结

JSP期末复习总结作者张焕HTML基础知识HTML常用标签和元素ltmetahttpequivquotcontenttypequotcontenttexthtmlcharsetgb2312gtcharsetgb...

Jsp基础知识总结

Jsp我们学完也有好长一段时间间了过程中总结的一点点基础知识拿来与初学者分享直到最后做我们一个小小的项目宠物医院也是用我们最简单的工具Jcreater40来做的呵到了Ecliplse下才发现开发速度如此之快不过...

Jsp基础知识

Jsp基础知识txt如果有来生要做一棵树站成永恒没有悲伤的姿势一半在土里安详一半在风里飞扬一半洒落阴凉一半沐浴阳光非常沉默非常骄傲从不依靠从不寻找1Jsp基础知识总结Jsp我们学完也有好长一段时间间了过程中总结...

jsp基础知识学习

万高石材indexphp组装电脑20xx元电脑配置单Javaee是一个开放的平台它包括很多技术主要有十三种java数据库连接jdbcjava命名和目录接口jndi企业javabeanejbJavaserverp...

jsp基础知识(jsp)

5请讲一讲析构函数和虚函数的用法和作用析构函数是用来释放所定义的对象中使用的指针默认的析构函数不用显示调用自建的析构函数要在程序末尾调用虚函数可以让成员函数操作一般化用基类的指针指向不同的派生类的对象时基类指针...

JAVA基础知识总结

object类下的方法getClasshashCodeequalstoStringclonewaitnotifynotifyAllfinalizaJSP内置对象request表示HttpServletReque...

jsp&servlet知识点总结

Servletservelt基于网络的什么是Servelt运行在web服务器或应用服务器上的java程序他是一个中间层负责连接来自web浏览器或其他HTTP客户程序的请求和HTTP服务器上的数据库或应用程序为什...

Java基础知识总结

第1章Java语言概述与面向对象思想111Java语言的发展1111Java语言的产生1112Java语言的发展112Java语言的特点213面向对象与面向过程的差异3131面向过程思想回顾4132面向对象思想...

jsp实训报告总结

企业信息管理系统概述一企业信息管理需求分析1登录页面模块登录页面模块功能如下对登录页面进行设置要求输入用户名和密码正确之后才可登录系统若尚未注册则点击注册新用户注当用户名已存在时不能重复注册2首页面模块首页面模...

jsp总结

1在JAVA中1ltlt9是什么意思啊在java里面ltlt和gtgt是移位操作符其中ltlt是向左移位gtgt是向右移位比如1ltlt9表示二进制的1向左9位后面补充0即1000000000同样右移也差不多但...

jsp基本语法总结(3篇)