JavaBean规范

类必须使用public修饰     必须保证有公共无参数构造器.  (一般就是可以通过反射轻松的创建对象)  包含了属性的操作(给属性赋值,获取属性值).

JavaBean中的成员:      方法     事件      属性

JavaBean的自省(内省)机制        操作(获取/设置)JavaBean中的方法/事件/属性

BeanUtils的使用  开发(框架)中,经常使用Apache common的BeanUtils工具来操作JavaBean.

commons-beanutils-1.9.2.jar

commons-collections-3.1.jar

commons-logging-1.2.jar.

获取到注册页面中的数据封装成业务对象   reg.html  RegServlet   业务对象  - Student

如果一个bean的参数过多,上面的代码量非常大,而是用下面的方式两句代码,不管有多少属性直接获得一个Map使用BeanUtils的拷贝

抽取工具方法

EL(表达式语句)而使用EL表达式可以简单的获取到作用域对象中的共享数据

按照从小到大的范围依次从page,request,session,application寻找指定属性名的属性值.

  1. EL语法2 : 需要获得指定作用域中的属性值 :

语法:  ${作用域对象.msg}

EL语法3 :在EL中访问JavaBean属性方式:

方式1:使用   .    来访问.

方式2:使用   []    来访问.

JSTL(Java标准标签库)

为了完全在JSP中消除Java代码,学习JAVA的标签库

准备JSTL相关的jar(Tomcat根/webapps/examples/WEB-INF/lib).

jstl.jar     standard.jar

el-api.jar   jsp-api.jar

使用JST必须在JSP页面中,引入标签库:

比如引人核心JSTL:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

  1. 条件 if

语法1:

没有本体内容(body):把表达式的结果赋值给变量,并存储在指定的作用域中.然后在输出

<c:if test="boolean表达式" var="varName" [scope="{page|request|session|application}"]/>

${varName}

有本体内容,若表达式为true,则显示之间的文本内容.

<c:if test="boolean表达式" >

多条件 choose

  1. 循环迭代标签(foreach)

语法1: 迭代集合对象

语法2: 迭代指定的次数

  1. 时间格式化标签

  2. MVC思想

  3.  Model1:

    1. JSP+JavaBean开发也称作JSP模式一(以JSP为中心(JSP Centric)的设计的模型)

      优点:快速开发/简单(针对很小的项目来说)

      缺点:不适合团队开发,不好维护

    2. Model2:

      Model2就是MVC的一种实现

      模型二又叫做以Servlet为中心

      (Servlet Centric)的设计模型。

      JSP+Servlet+JavaBean

      优点:适合团队开发,好维护

      缺点:开发速度要慢

MVC的模型(Model)部分负责管理程序的业务数据,视图(View)部分负责显示界面,控制器(Controller)部分则负责与用户进行交互(接受请求和选择响应视图)

JavaBean-EL-JSTL-MVC的更多相关文章

  1. jsp&el&jstl mvc和三层架构

    jsp:java在html中插入java 一.JSP技术 1.jsp脚本和注释 jsp脚本:(翻译成servlet,源码位置apache-tomcat-7.0.52\work\Catalina\loc ...

  2. 动态页面技术JSP/EL/JSTL

    本节内容: jsp脚本和注释 jsp运行原理 jsp指令(3个) jsp内置/隐式对象(9个) jsp标签(动作) EL技术 JSTL技术 JavaEE的开发模式 动态页面技术:就是在html中嵌入j ...

  3. JavaEE之动态页面技术(JSP/EL/JSTL)

    动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...

  4. day12-(jsp&el&jstl)

    回顾: jsp: cookie: 浏览器端会话技术 由服务器产生,生成key=value形式,通过响应头(set-cookie)返回给浏览器,保存在浏览器端 下次访问的时候根据一定的规则携带cooki ...

  5. 12-JSP&EL&JSTL

    JSP & EL & JSTL jsp Java Server Page 什么是jsp 从用户角度看待 ,就是是一个网页 , 从程序员角度看待 , 其实是一个java类, 它继承了se ...

  6. JavaWeb之JSP & EL & JSTL

    JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...

  7. EL&&JSTL

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  8. JavaWeb之动态页面技术JSP/EL/JSTL

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  9. EL&JSTL笔记

    # 今日内容     1. JSP:         1. 指令         2. 注释         3. 内置对象 2. MVC开发模式     3. EL表达式     4. JSTL标签 ...

  10. JavaWeb 补充(JSP&EL&JSTL)

    1. JSP:     1. 指令     2. 注释     3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令     * 作用:用于 ...

随机推荐

  1. QLabel设置文字大小和颜色

    https://blog.csdn.net/fm0517/article/details/4805462 ui.label是QLabel ui.label_4->setText("so ...

  2. 从零开始搭建FAQ引擎--深度语义匹配

    从零开始搭建FAQ引擎--深度语义匹配

  3. Hbase:原理和设计

    转载自:http://www.sysdb.cn/index.php/2016/01/10/hbase_principle/ ,感谢原作者. 简介 HBase —— Hadoop Database的简称 ...

  4. 关于QQ邮箱有时候接受不到邮件的解决

    1.很可能是被当作垃圾邮件拦截了,这时候就要自己找回 2.首先点击邮箱首页 3.在最后一行倒数第三个选择自助查询 4.一般在收信查询或者删信查询里面,找到被删的邮件,添加到白名单就好了

  5. TCP断线重连

    struct sockaddr_in TempSadd; TempSadd.sin_family = AF_INET; TempSadd.sin_port = htons(m_ServerPort); ...

  6. websocket Tomcat JSP Demo

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. python让实例作用于for循环并当做list来使用

    python如果想让一个类被用于for....in  循环,类型list和tuple那样,可以实现__iter__方法. 这个方法返回一个迭代对象,python的for循环就会不断调用该迭代对象的ne ...

  8. 赵雅智_Swift(4)_断言

    可选能够让你推断值是否存在.你能够在代码中优雅地处理值缺失的情况.然而,在某些情况下,假设值缺失或者值并不满足特定的条件.你的代码可能并不须要继续执行.这时.你能够在你的代码中触发一个断言(asser ...

  9. python调用shell脚本时需要切换目录

    最近遇到了一个问题,就是python代码调用shell脚本时,发现输入输出的文件,总是和自己预想的有偏差,但是单独在linux下执行命令的时候,却没有错误.后来发现是相对路径的问题,因为执行pytho ...

  10. flask将日志写入日志文件

    import logging logging.basicConfig(level=logging.DEBUG,#控制台打印的日志级别 filename='log_new.log', # 将日志写入lo ...