
在JSP页面中使用JavaBean
一、JavaBean
JavaBean是符合某种特定规范的Java类,通过JavaBean可以有效减少代码冗余,解决代码重复编写问题,功能区分明确,提高代码可维护性。
JavaBean的设计原则:共有类+无参的共有构造方法+getter和setter方法+属性私有
二、JSP动作元素
由于hgroup标签只能包含标题元素,如果你确实想要使用这个标签,那么使用hrgoup来包含本身是非常安全的(假设它没有包含其他的块级元素)。匹配一个有id属性,并且id属性是以”_id_sufix”结尾的超链接元素:a[id$='_id_sufix']匹配一个有id属性,并且id属性中包含”id_pattern”字符的超链接元素:a[id*='id_pattern']。数组的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出现的任意一个子匹配。
JSP动作的分类:
1、与存取JavaBean有关的动作

<jsp:useBean><jsp:setProperty><jsp:getProperty>
2、JSP1.2开始有的基本元素,包括6个动作元素
<jsp:include><jsp:forward><jsp:param><jsp:plugin><jsp:params><jsp:fallback>
3、JSP2.0新增加的元素,主要与JSP Document有关,包括6个元素
<jsp:root><jsp:declaration><jsp:scriptlet><jsp:expression><jsp:text><jsp:output>
4、JSP2.0新增加的元素,主要是用来动态生成XML元素标签的值,包括3个动作
<jsp:attribute><jsp:body><jsp:element>
5、JSP2.0新增加的元素,主要用在Tag File中,有2个元素

<jsp:invoke><jsp:dobody>
三、在JSP页面中使用JavaBean
3.1、使用普通方式创建JavaBean的实例
<body> <% User user = new User(); user.setName("admin"); //设置用户名 user.setPwd("000000");//设置密码 %> <h1>使用普通方式创建JavaBean的实例</h1> <hr> 用户名:<%=user.getName() %><br> 密码:<%=user.getPwd() %><br> </body>
3.2 在JSP页面通过动作标签来使用JavaBean
1、<jsp:useBean>在JSP页面中实例化或者在指定范围内使用JavaBean
<jsp:useBean id="标示符" class="类名" scope="作用范围">
示例代码:

<body> <jsp:useBean id="user" class="model.User" scope="page"> <h1>使用useBean动作创建JavaBean的实例</h1> <hr> 用户名:<%=user.getName() %><br> 密码:<%=user.getPwd() %><br> </body>
【注】用户名和密码的页面显示结果都为null,因为没有给该实例的属性赋值
2、<jsp:setProperty>给已经实例化的JavaBean对象的属性赋值,共有四种形式
<!-- 全部属性与表单关联 --> <jsp:setProperty name="JavaBean实例名" property="*"/> <!-- 部分属性与表单关联--> <jsp:setProperty name="JavaBean实例名" property="指定属性名"/> <!-- 手工设置属性--> <jsp:setProperty name="JavaBean实例名" property="指定属性名" value="指定属性值"/> <!-- 与request参数关联--> <jsp:setProperty name="JavaBean实例名" property="指定属性名" value="指定属性值" param="request对象中的参数名"/>
3、<jsp:getProperty>获取指定JavaBean对象的属性值
<jsp:getProperty name="JavaBean实例名" property="属性名"/>
综合实例
<body> <jsp:useBean id="myUser" class="model.User" scope="page"/> <h1>setProperty动作元素</h1> <hr> <!--根据表单自动匹配所有的属性 --> <%-- <jsp:setProperty name="myUser" property="*"/> --%> <!--根据表单匹配所有部分的属性 --> <%-- <jsp:setProperty name="myUser" property="name"/> --%> <!--根表单无关,通过手工赋值给属性 --> <%-- <jsp:setProperty name="myUser" property="name" value="admin"/> <jsp:setProperty name="myUser" property="pwd" value="000000"/> --%> <!--通过URL传参数给属性赋值 --> <jsp:setProperty name="myUsers" property="name"/> <jsp:setProperty name="myUsers" property="pwd" param="password"/> <!-- 使用传统的表达式方式来获取用户名和密码 --> 用户名:<%=myUser.getName() %><br> 密码:<%=myUser.getPwd() %><br> <!-- 使用getProperty方式来获取用户名和密码 --> 用户名:<jsp:getProperty name="myUser" property="name"/><br> 密码:<jsp:getProperty name="myUser" property="pwd"/><br> </body>

3.3 JavaBean的4个作用域范围
①page:仅在当前页面有效
②request:可以通过HttpRequest.getAttribute()方法获得JavaBean对象
() a.request.getattribute(“attributename”) b.pagecontext.getattribute(“attributename”,pagecontext.session_scope) c. 在标签处理类 tagsupport 类中定义了 pagecontext 成员变量, 先通过它的 getsession() 方法获得当前的 httpsession 对象,再调用 httpsession 对象的 getattribute()方法。 重点学习:request,session,application 1. request的setattribute()与getattribute()方法一般都是成对出现的,首先通过setattribute()设置属性和属性值,然后通过getattribute()方法获得与属性对应的对象值(获取到之后,一般都要向下类型转换,将属性值转换为真正的对象)。 a.getremotehost() b.getservername() c.request d.response 答案:c,a 28.下面关于 session 对象说法中正确的是() a.session 可以用来储存访问者的一些特定信息 b.session 对象的类是 httpsession.httpsession 由服务器的程序实现 c.session 对象提供 http 服务器和 http 客户端之间的会话 d.session 可以创建访问者信息容器。
() a.request.getattribute(“attributename”) b.pagecontext.getattribute(“attributename”,pagecontext.session_scope) c. 在标签处理类 tagsupport 类中定义了 pagecontext 成员变量, 先通过它的 getsession() 方法获得当前的 httpsession 对象,再调用 httpsession 对象的 getattribute()方法。 重点学习:request,session,application 1. request的setattribute()与getattribute()方法一般都是成对出现的,首先通过setattribute()设置属性和属性值,然后通过getattribute()方法获得与属性对应的对象值(获取到之后,一般都要向下类型转换,将属性值转换为真正的对象)。%> d.servletcontext、getpathinfo() 答案:a 107.servlet 程序的入口点是() a.service() b.doget() c.init() d.main() 答案:c 108.在 jsp 中,使用
<body> <h1>Javabean的四个作用域范围</h1> <hr> <jsp:useBean id="myUser" class="model.User" scope="page"/> 用户名:<jsp:getProperty name="myUser" property="name"/><br> 密码:<jsp:getProperty name="myUser" property="pwd"/><br> <!-- 使用内置对象获取用户名和密码 --> <hr> <%-- 用户名:<%=((Users)application.getAttribute("myUser")).getName()%><br> 密码:<%=((Users)application.getAttribute("myUser")).getPwd() %><br> --%> <%-- 用户名:<%=((Users)session.getAttribute("myUser")).getName()%><br> 密码:<%=((Users)session.getAttribute("myUser")).getPwd() %><br> --%> <%-- 用户名:<%=((Users)request.getAttribute("myUser")).getName()%><br> 密码:<%=((Users)request.getAttribute("myUser")).getPwd() %><br> --%> <% String username = ""; String password = ""; if(pageContext.getAttribute("myUser")!=null ) { username = ((Users)pageContext.getAttribute("myUser")).getName(); password = ((Users)pageContext.getAttribute("myUser")).getPwd(); } %> 用户名:<%=username%><br> 密码:<%=password%><br> </body>
这 是因为服务端的listen状态下的socket当收到syn报文的建连请求后,它可以把ack和syn(ack起应答作用,而syn起同步作用)放在一 个报文里来发送。这是因为服务端的listen状态下的socket当收到syn报文的建连请求后,它可以把ack和syn(ack起应答作用jsp页面引入java类,而syn起同步作用)放在一个报文里来发送。www-authenticate响应报头域必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候jsp页面引入java类,并发送authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
参考资料:慕课网【JAVA遇见HTML——JSP篇】
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-118014-1.html
宝宝越来越棒
喜欢外景这组有点胶片复古的感觉没有雪梨略不开心