• jsp03( javabeans)


    1.javabean简介

    Javabeans就是符合某种特定规范Java类。使用Javabeans的好处是【解决代码的重复编写】,减少代码冗余,功能区分明确,提高代码的维护性。

    2.javabean的设计原则

    设计原则四点:公有类,属性私有,包含无参的共有构造方法,getter和setter方法封装属性

    3.javabeans 的jsp动作

    3.1什么是jsp 动作

    (1)JSP动作元素为请求处理阶段提供信息。
    (2)动作元素遵循XML元素的语法。有一个包含元素名的开始标签,可以有属性、可选内容,以及结束标签

    3.2jsp的动作分类JSP动作分为以下几类:
    (1)与存取JavaBean有关的6个元素。 如:
    <jsp:useBean> <jsp:setProperty> <jsp:getProperty>
    (2)6个动作元素。 如:
    <jsp:include> <jsp:forward> <jsp:param> <jsp:plugin> <jsp:params> <jsp:fallback>
    (3)与Document有关的6个元素:
    <jsp:root> <jsp:declaration> <jsp:scriptlet> <jsp:expression> <jsp:text> <jsp:output>
    (4)用来动态生成XML元素标签的3个动作:
    <jsp:attribute> <jsp:body> <jsp:element>
    (5)用在Tag File中的2个元素:
    <jsp:invoke> <jsp:dobody>

    4.Javabean的使用方式

    1)像使用普通Java类一样,创建javabean实例
    1、创建一个web project项目。
    2、在src文件下,创建一个包,在包中创建一个类,满足设计原则即可
    3、在index.jsp页面中通过import导入之前创建的类(import="包名.类名")
    4、通过使用new创建Javabean实例(创建对象)
    5、使用set方法赋值
    6、使用get方法取值

     

    (2)使用Jsp的动作标签,如

    1、Usebeans 动作

    <jsp:useBean id="标识符(类似于Java中的变量名)" class="java类名(需要将包名一同写入)" scope="作用范围(默认是page)">

    作用:在jsp页面中实例化或者在指定范围内使用javabean

    4.2、<jsp:setProperty>动作:给已经实例化的Javabean对象的属性赋值,一共有四种形式:
          a、 需要表单提交属性:<jsp:setProperty name="Javabean实例名" property="*"/>:与之前页面提交的表单的所有属性进行匹配,若有与javabean类属性名相同的,则进行赋值。比如表坛提交了username="xxx",而javabean里有username属性,则对其进行赋值

     b、 需要表单提交属性<jsp:setPropery name="Javabean实例名" property="javabean属性名" />:根据表单匹配部分属性(对指定的属性进行匹配)
          c、手动设置属性:<jsp:setProperty name = "Javabean实例名" property="Javabean属性名" value="BeanValue" />
          d、与request参数有关,通过url传参 :<jsp:setProperty name="Javabean实例名" property="propertyName" param="request对象中的参数名" />(跟request参数关联)

    4.3、<jsp:getProperty>:获取指定javabean对象的属性值。

    <jsp:getProperty name="JavaBean实例名" property=“属性名”/>

     5.javabean的四个作用域范围

     

      

    6.javabean代码实例:

    //login 登陆页面
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!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=UTF-8">
    <title>表单提交</title>
    </head>
    <body>
    <h1>post</h1>
        <form action="doLogin.jsp" name="loginForm" method="post">
            <table>
                <tr>
                    <td>账号:</td>
                    <td><input type="text" name="username" placeholder="请输入账号" /></td>
                </tr>
                <tr>
                    <td>密码:</td>
                    <td><input type="password" name="password" placeholder="请输入密码" /></td>
                </tr>
                <tr>
                    <td><input type="submit"  value="提交" /></td>
                    
                </tr>
            </table>
        </form>
        
    </body>
    </html>
    
    // dologin 判断登陆的页面
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <% request.setCharacterEncoding("utf-8");  %> 
        <!--通过 jsp:useBean 创建实例对象  -->
       <jsp:useBean id="myUser"   class="com.j1702.entity.User" scope="session"></jsp:useBean> 
       
        <%--  <jsp:useBean id="myUserDAO"   class="com.j1702.dao.UserDAO" scope="page"></jsp:useBean> --%> 
        
        <!-- 通过 jsp:setProperty 给实例对象设置值 -->
        
        <jsp:setProperty  property="*" name="myUser"/>
    
        <!-- 通过实例对象去获取表单中提交的参数值 -->
    <br/>用户名:<%=myUser.getUsername() %>
    <br/>密码:<%=myUser.getPassword() %>
    <hr/>  
       <%
    
     /*   if(myUserDAO.ifLogin(myUser)){
          response.sendRedirect("index.jsp");
     }   */  
       
     
       if("admin".equals(myUser.getUsername())
             && "admin".equals(myUser.getPassword()))
             
             {
         response.sendRedirect("index.jsp");
         
     }  else{
         out.println("你的输入有误"+"<a href='Login.jsp'>请重新输入</a>");
     } 
      
     %>      
      
    
      
     <a href="scope.jsp">前往作用域页面查看信息</a> 
      
    
    //index.jsp 登陆成功页面
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!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=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    登陆成功
    </body>
    </html>
    
    
    //scope.jsp  登陆不成功 查看作用域的页面
    <%@page import="com.j1702.entity.User"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%-- <jsp:useBean id="myUser" class="com.j1702.entity.User" scope="page"></jsp:useBean>  
         --%>
         
         <%
          User myUser=(User) application.getAttribute("myUser");
          User myUser1=(User)session.getAttribute("myUser"); 
     User myUser2=(User)request.getAttribute("myUser"); 
         %>
       <h1>application 作用域</h1>
    <br/>用户名:<%=myUser.getUsername() %>
    <br/>密码:<%=myUser.getPassword() %>
        <hr> 
        
         <h1>session  作用域</h1>
     <br/>用户名:<%=myUser1.getUsername() %>
    <br/>密码:<%=myUser1.getPassword() %> 
        <hr>   
        
     <%--   <h1>request 作用域</h1>
    <br/>用户名:<%=myUser2.getUsername() %>
    <br/>密码:<%=myUser2.getPassword() %>
        <hr>  --%>  
        
    View Code

     7.web 项目机构模型 Model1

    7.1 Model1的简介

    Model 1 模型出现前,整个Web应用的情况:几乎全部由jsp页面组成,jsp页面接收处理客户端请求,对请求处理后直接做出响应。

    7.2 使用javabeans 封装数据域逻辑代码

  • 相关阅读:
    【安徽集训】fiend
    【安徽集训】Emerald
    【安徽集训】Entropy
    【安徽集训】字符串
    【福建集训】果树
    【CF335 E】Counting Skyscrapers
    【BZOJ 3514】Codechef MARCH14 GERALD07 加强版
    【未知来源】Randomized Binary Search Tree
    【ZJOI 2016】旅行者
    【AGC002 E】Candy Piles
  • 原文地址:https://www.cnblogs.com/sbj-dawn/p/7102875.html
Copyright © 2020-2023  润新知