备案域名购买

老域名出售,已备案域名查询,老域名注册,已备案域名交易,买老域名,二手老域名,出售老域名,上饶网站建设

主页 > 建站教程

网站建设之有关JSP开发模型

JSP页面存在三种形式:1、.jsp源文件,包含HTML语句和JSP元素。2、servlet程序的JAVA源代码。3、已编译的JAVA类。为了理解JSP元素操作方式,如何创建这三种对象以及它们之间关系的思维模型是很重要的。

首先,JSP开发人员编写一个.jsp源文件,将其保存在web服务器或web应用的文档文件系统的某处。从此观点讲,.jsp源文件与一般的HTML文件没有差别。。其获得网络位置的URL是相同的,只是其文件名以.jsp而不是.html结束。接着,当.jsp URL第一次被调用时,JSP容器读取此.jsp文件,解析其内容,生成等价的JAVA servlet源码。然后编译此servlet,创建一个.class文件。最后,JSP容器载入此servlet类,使用它服务于HTTP请求。中间一步(生成servlet源码)只有当.jsp文件已经被修改时才会针对后续请求重复执行。

标签:网站  建设  有关  JSP  开发  模型  zhushican发布于2014/8/15围观评论:0

请求过程的剖析

一个web站点的许多特征对所有页面是通用的,如头标和脚注、导航条目和叶脉设计的其他元素。不用复制生成这些特性的HTML,能够一次写完就在许多地方使用它们很有用处。JAVA可用做JSP的任意一部分,可以很容易地完成生成信息和表示它们的代码。表示可能是读取数据库、执行计算和生成HTML表格。改变页面的逻辑和表示可能对以后是必须的。这样的代码很快就会变得很复杂。

所以,处理servlet和JSP请求的servlet引擎可能是web服务器本身的一部分(指in-process模式),或者是运行在一单独进程中。后一种情况下,web服务器包含指向一个连接者的组件。Connector解释servlet请求并通过与显示相关的协议将之传递到servlet引擎。Web服务器像通常一样处理其他请求。

标签:请求  过程  剖析  zhushican发布于2014/8/15围观评论:0

JSP中session变量的应用

HTTP是一个无状态协议,这意味着它在从一个请求到另一个请求时不会记住前一个请求的一切,然而web应用经常调用多个请求。例如,一个应用开始时可以是某种必须传播到几个其他web页面的用户标识和有效性验证。此类应用的需求必须通过不同于web服务器的其他方式实现。依据应用需求,可以采纳以下几种方法实现此目的。这些方法包括:隐藏域、Cookie、URL重写、HTTP会话。

这里只对最后一条感兴趣。一个HttpSession是一个类似于哈希表的与单一web浏览器会话相关的对象。它存在于HTTP请求之间,可以存储任何类型的命名对象。缺省的,JSP容器在_jspService()方法的开始创建一个HttpSession对象,或访问当前被激活的HttpSession对象。此对象被设置为一名为session的变量。

标签:JSP  session  变量  应用  zhushican发布于2014/8/15围观评论:0

网站建设编码中Java中变量的赋值

在网站建设编码过程中,赋值用的是=运算符。它的意思是算出等号右边的值(通常称为rvalue),然后拷贝到等号左边(通常称为lvalue)。Rvalue可以是任何常量,变量或者是能产生值的表达式,而lvalue则只能是一个明确的,有名字的变量。也就是说,必须要有一个物理空间来存储这个值。比如,你可以将常量赋给变量,但是你不能将值赋给常量——也就是说,常量不能当lvalue的。

给primitive赋值还是比较简单的。由于primitive持有的是实实在在的值,而不是指向对象的reference,因此为primitive赋值的时候,你是将内容从一个地方直接拷贝到另一个地方。假设a和b都是primitive,如果你说a=b,那么b的内容会被拷贝到a。如果接下来你又修改了a,那么很显然b是不会受到影响的。对于程序员来说,在绝大多数情况下,这正是他们所需要的。

标签:网站  建设  编码  Java  变量  赋值  zhushican发布于2014/8/14围观评论:0

网站建设中如何控制程序流和运算符

就像有感知力的生物那样,程序应该有能力操控它的世界,并且在执行过程中做决定。Java让你用运算符来控制数据,用执行控制语句来做决定。Java继承了C++,因此C和C++程序员对它的语句和运算符感到很亲切。不过Java也做了一些改进和简化。

运算符需要一到两个参数,并且会产生一个新的值。参数的使用方法与普通方法的调用不同,但是结果是相同的。加减乘除以及等号的用法同其它编程语言完全相同。运算符作用于操作数,并且会产生一个值。此外,运算符还被用于修改操作数的值。这被称为副作用。我们经常看到的用运算符来修改操作数的操作就是利用了这种副作用,但是你应该记住,这种做法所产生的值也是可以用的,它同那些没有副作用的运算符是一样。

标签:网站  建设  如何  控制  程序  运算符  zhushican发布于2014/8/14围观评论:0

网站建设中Java中位运算的使用

位运算符能让你逐位操控primitive类型的数据。两个参数的相对应的各位分别进行布尔运算,其结果就是为运算的结果。位运算符是从C语言带过来的。C有一些低级语言的特点,你可以用它去直接控制硬件,这样就要设置硬件的寄存器了。最早,Java是被当作要嵌入电视机的机顶盒来设计的,所以保留一些底层功能还是情有可原的。

如果输入位都是一,则与位运算符&会返回一,否则就是零。输入的两位当中只要有一个一,则或运算符|会返回一,只有两个都是零的时候,它才返回零。如果输入的两位当中有,并且只有一个一,则异或运算符^会返回一。非运算符是一个单元运算符,它只需要一个参数。非运算符会对输入位取反。

标签:网站  建设  Java  中位  运算  使用  zhushican发布于2014/8/14围观评论:0

网站建设中Java方法的重载

名字管理是编程语言的一项重要特性。创建对象的时候,你会给内存空间起 名字。而方法是动作的名字,通过使用名字,别人就能更容易地理解和修改程序了。你用名字来表示对象和方法。不管是对你还是别人,好的名字能让代码读起来更简单。但是在把人类语言映射到编程语言的时候,会碰到一件麻烦事。同一个单词经常可以表达很多不同的意思——也就是说这次被重载了。绝大多数的编程语言都要你为每个函数都起一个独一无二的标识符。

Java里还有一个让我们不得不对方法进行重载的原因:构造函数。由于构造函数的名字已经由类名决定了,因此构造函数就只能有一个名字。但是加入你要用几种不同的方法来创建对象的话,那又该怎么办呢?假设你要创建这样一个类,它既能以标准的方式进行初始化,又能从文件里读取信息以进行初始化。你得有两个构造函数,一个是不需要参数,也称为无参数构造函数。另一个是需要一个string作参数的构造函数。而这个string就是初始化所需的文件的文件名。这两个都是构造函数,所以它们得用同一个名字——类的名字。于是,为了能让相同名字的方法使用不同的参数类型,方法的重载就变得非常重要了。重载不仅对构造函数来说是必须的,而且也是一种很通用的,能用于任何方法的技巧。

标签:网站  建设  Java  方法  重载  zhushican发布于2014/8/14围观评论:0

用构造函数确保初始化

可以这样认为,每个类都有一个名为initialize()的方法。这个名字就暗示了它得在对象使用之前调用。不幸的是,这么做的话,用户就得记住要调用这个方法。Java类库的设计者们可以通过提供一种被成为构造函数的特殊方法,来保证每个对象都能得到初始化。如果类有构造函数,那么Java就会在对象刚刚创建,用户还来不及得到的时候,自动调用那个构造函数。这样初始化就有保障了。

接下来的问题是如何命名这个方法,这有两层意思。第一,名字不能与类的成员的名字相冲突。第二,由于构造函数是由编译器调用的,因此编译器必须要能知道该调用哪个方法。既然C++的解决方案既简单又合理,那么Java就沿用了这种做法:构造函数的名字就是类的名字。于是初始化的时候这个方法的自动调用就变得顺理成章了。

标签:构造  函数  确保  初始化  zhushican发布于2014/8/14围观评论:0

在构造函数里调用构造函数

当你为同一个类撰写多个构造函数的时候,为了避免重复,经常会在一个构造函数里调用另一个构造函数。你可以通过用this关键词来进行这种调用。通常情况下,当你说this的时候,它表示这个对象或当前对象的意思,因此无需更多的解释,它就能返回当前对象的reference。但是在构造函数里,当你传给它一串参数的时候,this关键词就有不同的含义了。它会明确地调用匹配这串参数的构造函数。于是你就有了一种能直截了当地调用其它构造函数的方法了。

在构造函数中,可以用this调用一个构造函数,但是不能调用两个。此外,你还得在程序的最前面调用构造函数,否则编译器就会报错。另一种this的用法是参数s的名字和类的数据程序s的名字相同,于是就产生了两义性。你可以用this.s来解决这个问题。它表示你要用类的数据成员。这种用法在Java程序里很常见。编译器不会让你在方法里调用构造函数,除非自己就是构造函数。

标签:构造  函数  调用  构造  函数  zhushican发布于2014/8/14围观评论:0

垃圾回收器是如何工作的

如果你有过编程经验,知道把对象放在堆里是比较慢的,那么你自然就会认为Java把所有的东西都放在堆里的这种做法也一定是很慢的。但事实上垃圾回收器可以极大的提高创建对象的速度。第一次听到这种说法的时候,你可能会觉得有些奇怪——内存的释放怎么会对内存的分配有影响——但这就是JVM的工作方式,而且,Java在堆里分配内存的速度,可以同其他语言在栈里分配内存的速度相媲美。

举例来说,你可以把C++的堆理解成一个集装箱堆场,这里面的每个对象都要负责管理它自己那块地皮。过一段时间,这块地皮就会被空出来,并且重新投入使用。但是在一些JVM里面,Java的堆就有些不同了;它更像是一条每次分配新对象的时候会不断向前移动的传送带。因此,为对象分配内存会非常快。“堆指针”只是简单地向前面移动,所以实际上就同C++的栈的分配是一样的了。

标签:垃圾  回收器  如何  工作  zhushican发布于2014/8/14围观评论:0

回顶部