JSP之Web组件复用

简介: JSP之Web组件复用

一.静态包含


含义:在JSP源文件转换成对应Servlet源文件时将当前JSP文件和其包含的所有其他文件合并成一个Servlet文件

使用:JSP中的include伪指令实现静态包含

<%@ include file="header.jsp" %></br>

属性file是指包含文件的相对路径。

规则:

file属性值不能是一个动态表达式

file属性值不能向被包含的文件传递参数

被包含的文件之间可以共享参数

两个jsp文件会生成一个.java文件


二.动态包含


含义:动态包含是指客户端请求时,将请求转发给当前JSP文件包含的其他对象

include动作指令:相当于Servlet中的RequestDispatcher.include()

forward指令:相当于Servet中的RequestDispather.forward()方法

使用:<jsp:include page="header.jsp?userName=ZS" flush="true"></jsp:include>

规则:

include允许当前页面将客户端请求暂时转交给所包含的对象,一旦对象执行完毕,返回当前JSP页面

注意:

1.动态包含中的包含文件和被包含文件各自独立编译、执行,彼此之间不能访问各自定义的变量(即page作用域范围内的对象),只能共享request范围、session范围、application范围对象

2.page属性值可以是相对路径或代表相对路径的表达式。

3.page属性指向的文件既可以是动态文件也可以是静态文件。

动态引入的三种方式:

`<jsp:include page="header.jsp?userName=ZS" flush="true"></jsp:include>`

2.`

<jsp:include page="header.jsp">
    <jsp:param value="userName" name="Ls"/>
</jsp:include>`
<%request.setAttribute("userName", "ww"); %>
<%request.getRequestDispatcher("header.jsp").forward(request, response); %>


include伪指令与include动作指令的比较:


image.png


forward动作指令:

forward动作指令允许将客户请求转发到另一个资源文件,即每当遇到此动作指令就停止执行当前的JSP,转而执行被转发的指定资源


使用:

<jsp:include page="header.jsp?userName=ZS" flush="true"></jsp:include>

forward指令与include指令的区别:


forward动作指令在调用转发操作后不会继续处理指令后的任何代码

include动作指令在调用转发操作后,完成转发操作后将继续处理指令后的代码


三.使用JavaBean组件


JavaBean概述:

JavaBean通过封装属性和方法成为具有某种功能

或者处理某个业务的对象,简称Bean

JavaBean中所有的属性最好定义为private,每个属性都定义public的setter和getter方法对其进行操作。


JavaBean命名规则:


如果属性不是布尔类型,getter方法前缀必须是get

如果属性是布尔类型,getter方法前缀必须是get或is

Setter方法的前缀必须是set

将属性的首字母改成大写,添加合适的前缀作为getter和setter方法的名字

Setter方法签名必须表示为Public,具有void返回类型和一个表示属性类型的参数

Getter方法签名必须标识为public,不带参数,并具有一个该属性类型的返回类型

在JSP中使用JavaBean:

1.在JSP中使用jsp:userBean操作元素来加载JavaBean程序


<jsp:useBean id="user" class="net.onest.bean.User">
</jsp:useBean>

2.使用jsp:setProperty操作元素来设置JavaBean的属性


<jsp:setProperty property="userName" name="user" value="zs" param="name"/>


3.使用jsp:getProperty操作元素获取JavaBean的元素值


<jsp:getProperty property="userName" name="user"/>
相关文章
|
5天前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
|
5天前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
|
5天前
|
缓存 负载均衡 安全
Servlet与JSP在Java Web应用中的性能调优策略
【6月更文挑战第23天】在Java Web中,Servlet和JSP调优至关重要,以应对高并发和复杂业务带来的性能挑战。优化包括Servlet复用、线程安全、数据库连接池,以及JSP的编译优化、使用JSTL、页面缓存和静态内容分离。全局优化涉及负载均衡、异步处理和缓存策略。通过这些实践,开发者能提升应用响应速度和吞吐量,确保高负载下的稳定运行。
|
5天前
|
搜索推荐 Java 数据库连接
探索Java Web开发:Servlet与JSP的协同工作原理
【6月更文挑战第23天】Java Web开发中,Servlet和JSP协同打造动态网站。Servlet是服务器端的Java程序,处理HTTP请求并执行复杂逻辑;JSP则结合HTML和Java,生成动态内容。Servlet通过`doGet()`等方法响应请求,JSP在首次请求时编译成Servlet。两者常搭配使用,Servlet处理业务,JSP专注展示,通过`RequestDispatcher`转发实现数据渲染。这种组合是Java Web应用的基础,即使新技术涌现,其价值仍然重要,为开发者提供了强大的工具集。
|
1月前
|
SQL 分布式计算 资源调度
常用大数据组件的Web端口号总结
这是关于常用大数据组件Web端口号的总结。通过虚拟机名+端口号可访问各组件服务:Hadoop HDFS的9870,YARN的ResourceManager的8088和JobHistoryServer的19888,Zeppelin的8000,HBase的10610,Hive的10002。ZooKeeper的端口包括客户端连接的2181,服务器间通信的2888以及选举通信的3888。
52 2
常用大数据组件的Web端口号总结
|
1月前
|
域名解析 缓存 网络协议
JavaEE精选-Web组件
JavaEE精选-Web组件
25 1
|
1月前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
18 2
|
1月前
|
JavaScript 前端开发 API
Vue中的组件:构建现代Web应用的基石
Vue中的组件:构建现代Web应用的基石
|
1月前
|
前端开发 JavaScript Java
Java与Web开发的结合:JSP与Servlet
Java与Web开发的结合:JSP与Servlet
23 0
|
1月前
|
移动开发 JavaScript 前端开发
【专栏:HTML进阶篇】HTML模板与Web组件:可复用的网页元素
【4月更文挑战第30天】HTML模板和Web组件提升网页开发效率和可维护性。HTML模板,如&lt;template&gt;元素和服务器端模板引擎,用于创建可复用的HTML结构。Web组件是自定义的HTML元素,结合影子DOM和模板,实现封装的可重用组件。两者助力构建高效、现代的网页和网站。