jsp+javabean

来源:互联网 发布:淘宝店改区域 编辑:程序博客网 时间:2024/05/18 12:39
javabean简介:符合某种特定的规范的Java类,使用javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。
javabean的设计原则:共有类,无参的共有构造方法,属性私有,getter和setter方法
jsp动作元素,动作元素为请求处理阶段提供信息,动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性,可选内容,与开始标签匹配的结束标签。
什么是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>

<%@ page import="com.User" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><%User user=new User();user.setUsername("admin");user.setPassword("123");%><h1>使用普通方式创建javabean的实例</h1><hr/>用户名:<%=user.getUsername() %>密码:<%=user.getPassword() %></body></html>
User.javapackage com;public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public User(){}}login.jsp<body><h1>系统登录</h1><hr/><form name="loginForm" action="dologin.jsp?mypass=9999" method="post"><table><tr><td>用户名:</td><td><input type="text" name="username" value=""/></td></tr><tr><td>密码:</td><td><input type="password" name="password" value=""/></td></tr><tr><td colspan="2" align="center"><input type="submit" value="提交"/></td></tr></table></form></body>dologin.jsp<body><!-- 下面的name都要和id一样 --><jsp:useBean id="myUsers" class="com.User" scope="page"/><h1>setProperty动作元素</h1><hr/><!-- 根据表单自动匹配所有的属性 --><%-- <jsp:setProperty name="myUsers" property="*"/> --%><!-- 根据表单匹配部分的属性 --><%-- <jsp:setProperty name="myUsers" property="username"/> --%><!-- 跟表单无关,通过手工赋值给属性 ,得到的是你自己设定的值。--><%-- <jsp:setProperty name="myUsers" property="username" value="lisi"><jsp:setProperty name="myUsers" property="password" value="8888"> --%><!-- 通过URL传参数给属性赋值 ,根据提交参数有关和你在表单填写的无关,param设定的是你传的参数--><jsp:setProperty name="myUsers" property="username"><jsp:setProperty name="myUsers" property="password" param="mypass"><!-- 使用传统的表达式方式获取用户名和密码 --><%-- 用户名:<%=myUsers.getUsername() %><br/>密码:<%=myUsers.getPassword() %> --%><!-- 使用getProperty方式来获取用户和密码 -->用户名:<jsp:getProperty name="myUsers" property="username"/>密码:<jsp:getProperty name="password" property="password"/></body>

javabean的四个作用于范围jpage:仅在当前页面有效,超链接是获取不到的
success.jsp<body><h1>javabean的四个作用域范围</h1><hr/><jsp:useBean id="myUsers" class="com.User" scope="page"/><%String username="";String password="";if(pageContext.getAttribute("myUsers")!=null){username=((User)pageContext.getAttribute("myUsers")).getUsername();password=((User)pageContext.getAttribute("myUsers")).getPassword();}%>用户名:<%=username%><br/>密码:<%=password %><br/></body>request:可以通过HttpRequest.getAttribute()方法取得javabean对象dologin.jsp,login页面还是上面的页面<body><!-- 下面的name都要和id一样 --><jsp:useBean id="myUsers" class="com.User" scope="request"/><h1>setProperty动作元素</h1><hr/><jsp:setProperty name="myUsers" property="username"/><jsp:setProperty name="myUsers" property="password"/><!-- 使用getProperty方式来获取用户和密码 -->用户名:<jsp:getProperty name="myUsers" property="username"/><br/>密码:<jsp:getProperty name="myUsers" property="password"/><br/><a href="success.jsp">测试javabean的四个作用域范围</a> <%request.getRequestDispatcher("success.jsp").forward(request,response);%></body>success.jsp<body><h1>javabean的四个作用域范围</h1><hr/><jsp:useBean id="myUsers" class="com.User" scope="request"/><%-- 用户名:<jsp:getProperty name="myUsers" property="username"/><br/>密码:<jsp:getProperty name="myUsers" property="password"/><br/> --%><hr/><%-- 用户名:<%=((User)session.getAttribute("myUsers")).getUsername()%><br/>密码:<%=((User)session.getAttribute("myUsers")).getPassword() %><br/> --%><hr/>用户名:<%=((User)request.getAttribute("myUsers")).getUsername()%><br/>密码:<%=((User)request.getAttribute("myUsers")).getPassword() %><br/></body>session:可以通过HttpSession.getAttribute()方法取得javabean对象application:可以通过application.getAttribute()方法取得javabean对象




原创粉丝点击