长期出售搜狗高收录域名,搜狗pr域名,搜狗权重域名等搜狗域名!需要请加q索取列表。
长期出售各种外链老域名,高权重域名,百度权重域名!需要请加qq索取域名列表。
长期出售各种有建站历史的老域名!正规站历史无灰色站记录。请加qq联系咨询发送域名表格。
定制标记具有许多属性,包括必需的和可选的,属性通常是以“属性=‘值’”的形式指定,其中,“属性”表示属性的名称,’值’标识对应的属性值。通常需要在标记处理程序中实现获取方法,这样,嵌套的标记就可以访问标记属性。
在网站建设编码中,定制标记具有许多属性,包括必需的和可选的,属性通常是以“属性=‘值’”的形式指定,其中,“属性”表示属性的名称,’值’标识对应的属性值。通常需要在标记处理程序中实现获取方法,这样,嵌套的标记就可以访问标记属性。
当显示某个表单时,通常希望文本字段能够保持其值不变。例如,要显示一个注册页面,如果输入的信息不正确,这个注册页面将重新显示出来。如果显示了不完整的注册信息,在显示提交后的结果,即重新显示注册表单,但是注册表单上带有提示信息。注册表单中的字段都保持其值不变,这样,用户就不用再次为这些文本字段输入相应的值了。
在我们进行网站建设的时候有效性验证是HTML表单所必需的,而且,通常客户端使用JavaScript,而服务器端使用JSP页面或者servlet执行有效性验证。由于客户端有效性验证是在客户端上执行,所以信息反馈比服务器端更快,这是因为服务器端有效性验证操作需要一个到服务器的往返。但是,服务器端有效性验证更可靠一些,因为用户可以禁用JavaScript,是客户端的有效性验证无效。客户端有效性验证更快一些,而服务器端有效性验证更可靠一些,那么使用那种验证方式呢,对于健壮性来说,两个都可以使用,而服务器端有效性验证可以重复客户端的工作。
如果将jsp:setProperty标记的property属性Hiding为’*’,JSP容器就会使用JAVA映射根据请求参数设置bean的属性。例如,对于category请求参数来说,JSP容器将会查找名为setCategory的bean方法。如果该方法存在,则JSP容器将通过category请求参数的值调用该setCategory方法。相同的算法适用于所有的请求参数。
如果要将请求参数值赋予bean,JAVA映射是非常好的方法,但该方法也有缺点:假设不同的表单中元素名称不相同,而且几乎总是这样,那么,就需要为每个表单实现不同的JavaBeans类。由于要为每个表单实现不同的类,所以,在bean之间将重复几乎相同的代码。categorySelectionAttr方法用于确定是否选中了category复选框,而且该方法返回相应的字符串“checked”或空字符串,这个字符串可以用作HTML中input标记的属性。在其他表单中,别的bean为复选框实现了几乎相同的方法。
到目前为止,所有的区域都是在一个位置定义和设置模板。JSP页面可以用具有4个节的单个区域创建。这个区域可以同时进行定义和设置。定义区域内联,还可以在设置模板的其他位置定义区域。JSP页面可以重现现有的区域,在/regionDefinitions.jsp文件中定义了该区域SIDEBAR_REGION,JSP页面中包含该文件。
在给出的JSP页面使用region:define标记定义名为SIDEBAR_REGIOND的区域,并将该区域存储在应用程序范围中。SIDEBAR_REGIOND区域由region:define开始标记定义,其名称和范围分别由region:define标记的id和scope属性指定。region:define标记还具有template属性,该属性指定区域所用的模板。
模型1结构由JSP页面、bean和业务对象组成。模型1结构向JSP页面提交请求,并通过bean间接访问业务对象。这种间接访问将JSP页面与业务对象的变化隔离开来(业务对象变化很繁琐,较大的项目尤其如此)。因为在模型1结构中,这些变化都是由bean来处理。只要bean接口保持不变,JSP页面就会独立于业务对象的实现。
软件开发人员实现业务对象和bean。在理想情况下,网页制作者负责制作JSP页面,这样分工明确,业务对象和网页可以由掌握不同技术的开发人员并行开发完成。这种分工是很难用模型1结构来说实现的,因为除了内容表示之外,JSP页面还要负责生成内容,而这总是需要JAVA代码。
使用HTML开发网页很容易,然而,设计开发灵活的、易于维护的,结合HTML、JSP和JAVA,能访问数据库或遗留系统的web程序却不那么简单。Web应用程序设计中有几个常用的方法,我们来看一下JSP、bean和servlet的使用。
JSP规范的设计者将JSP设计得很灵活,使用户可以用多种方法实现基于JSP的web应用程序。比如,可以用以下几种方法来创建项目:1、HTML语言与JSP scriptlet的自由组合。2、使用bean的委托(delegate)功能3、利用servlet、JSP页面及bean实现MVC(模型——视图——控制器)结构。
如果操作的监听器对敏感操作和带有敏感表单的操作进行特殊处理,那么,就可以捕获该敏感表单的重复提交。对于每个带有敏感表单的操作,监听器都创建了唯一的字符串,叫做标志。然后,监听器将该标志放入请求和会话中。
在提交敏感表单时,就产生了一个新的请求,并执行一个敏感操作。但是,在执行敏感操作之前,操作的监听器会查看请求和会话中的两个标志是否都存在并且相同。如果是,就执行该敏感操作;否则,就触发servlet异常。在执行敏感操作之后,会从各自的范围中删除这两个标志。以这种方式使用标志,可以确保敏感操作只能由一个敏感表单来调用。如果用户试图用Reload按钮或书签来提交敏感操作,就会引发servlet异常。
一些有识之士提倡消除JSP页面中的JAVA代码。从大体上讲,这是明智的建议,尤其是MVC结构中JSP页面作为视图使用时。但有时,用JAVA代码填充JSP页面也很有用处。这类JSP页面称为JSP脚本。幸运的是,在支持多种不同设计原理方面,JSP是足够灵活的。JSP脚本是在HTML中包含JAVA代码的JSP页面。与定制标记一样,对网页制作者而言,JSP脚本封装了功能。比如,在脚本中,将输出请求参数,这对于调试非常有用。
JSP脚本可以被另一个JSP页面所包含。对网页制作者而言,JSP脚本和定制标记都封装了有用的功能。但是定制标记更难以开发,因为除了标记库描述信息的定义之外,还需要编码和编译。相比而言,尽管JSP脚本易于开发,但对网页制作者来说,JSP脚本不如定制标记自然,因为它们要求使用JSP的include指令。 其他条件相同的情况下,定制标记比JSP脚本更具可重用性,但对于JSP开发人员来说,后者是更有用的工具。
我们已经知道如何使用unicode转义序列来显示一种或多种语言的特定字符,以及如何为基于非拉丁语的语言显示的内容指定字符集。我们对如何按照地理、政治或者文化来划分地区都已经了解了。现在我们来看看如何为web应用程序提供本地化的内容。提供本地化的内容可以用两种方法来完成。最明显的解决方案是为不同的地区分别提供JSP页面。然而,这需要做许多维护工作,因为这些JSP页面必须保持同步。但这并不意味着这个办法不可行。在不同的地区需要进行不同的编程时,比如不同的页面布局,每个地区实现一个JSP页面是完全可以接受的。
利用基于表单的身份验证,可以控制登录页面的外观和感觉。基于表单的身份验证工作方式与基本身份验证类似,不同之处在于指定显示一个登录页面,而不是对话框,如果登录失败,将显示错误页面。与基本身份验证一样,基于表单的身份验证并不安全,因为口令以明文方式传输。与基本身份验证以及摘要身份验证不同的是,基于表单的身份验证在servlet规范中定义,而不是HTTP规范。
基于表单的登录可定制登录页面,但是,不能定制身份验证过程本身。基于表单的身份验证需要以下步骤:1、实现登录页面。2、如果登录失败,将显示错误页面。3、在部署描述信息中,指定基于表单的身份验证,以及第二步中的登录页面和错误页面。除了用户名和口令字段的名称以及表单操作之外,登录页面是很普通的。这些名称分别是j_username、j_password和j_security_check(在servlet规范中定义它们),它们必须用于基于表单的登录。在JSP页面中部署描述信息指定安全约束,它将对/protected-page.jsp的访问限制在tomcat角色中的主体。身份验证方法被指定为FORM,而且登录页面和错误页面可以被识别。