zoukankan      html  css  js  c++  java
  • JSP学习总结

    什么是JSP:

      在前台可以写后台的java代码

      在HTML页面当中内嵌java代码,目的是:将静态页面转变为动态页面(数据);

    jsp与servlet的区别:

      一个jsp页面就是一个servlet程序

      jsp具备servlet一切特性,同时比servlet方便(标签语言)。

      jsp包含,jsp常用指令,jsp基本语法,jsp原理

      jsp的九大内置对象(非常重要)

    jsp程序在第一次请求时需要转化和编译,所以第一次请求的响应比较慢,从第二次开始效率就很高了。

    JSP语法:

      <%! %> :申明全局变量(成员变量),可以声明方法

      <% %> :申明局部变量

      <%= %> :输出(不能是表达式,不加分号)


    JSP内置对象(很重要)

      是web容器创建的一组对象,使用时不需要使用new关键字修饰,可以直接使用。

    JSP的九大内置对象

      五个常用的内置对象:

        1、out(缓冲的输出流,向客户端发送文本数据)

          <% out.println("dsdsdsd") ; %>

        2、request(请求对象)

        3、response(响应对象)

        4、session(会话对象)

        5、application(上下文对象)

      四个不常用的内置对象:

        6、page(当前页面)

        7、exception(异常对象)

        8、config(web.xml的配置)

        9、PageContext ( 页面运行环境)

    web程序的请求与响应

      缓冲区,保存临时数据(Buffer)

      注:解决乱码问题


    JSP 标签

      介绍:

        JSP标签也叫作Jsp Action元素,在页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。

     JSP常用标签

    • <jsp:include>标签
    • <jsp:forward>标签

    • <jsp:param>标签 


    JSP中使用JavaBean--标签 

      

    • 广义概念: java类

      

    • 狭义概念: 符合javaEE 标准的具有特定功能的java类

           要有成员属性,get/set方法。

     JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为:

    • <jsp:useBean>标签:作用于JSP页面中查找或者实例化一个JavaBean(实体类)组件。
      • 语法:  <jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
        • id”属性:指定实体类实例对象的引用名称和存储在域范围中的名称。(类似 A a = new A() == id="a" 的关系) 
        • "class"属性:指定实体类的完整类名(必须含有包名)
        • “scope”属性:指定实例对象(beanName)存储的域范围,值为page、request、session或者application,默认为page
    • <jsp:setProperty>标签:用于在JSP页面中设置一个实体类组件的属性。
      • 语法格式一:<jsp:setProperty name="beanName" property="propertyName" value="string字符串"/>

      • 语法格式二:<jsp:setProperty name="beanName" property="propertyName" value="<%= expression %>" />

      • 语法格式三:<jsp:setProperty name="beanName" property="propertyName" param="parameterName"/>

      • 语法格式四:<jsp:setProperty name="beanName" property= "*" />

        • name属性用于指定JavaBean对象的名称。 

        • property属性用于指定JavaBean实例对象的属性名。

        • value属性用于指定JavaBean对象的某个属性的值,value的值可以是字符串,也可以是表达式。为字符串时,该值会自动转化为JavaBean属性相应的类型,如果value的值是一个表达式,那么该表达式的计算结果必须与所要设置的JavaBean属性的类型一致。  

        • param属性用于将JavaBean实例对象的某个属性值设置为一个请求参数值,该属性值同样会自动转换成要设置的JavaBean属性的类型。  

            
    • <jsp:getProperty>标签:在JSP页面中获取实体类的属性。
      • 语法:<jsp:getProperty name="beanInstanceName" property="PropertyName" />  
        • name属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同。 
        • property属性用于指定JavaBean实例对象的属性名。
        • 如果一个JavaBean实例对象的某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为“null”的字符串。  

       一个简单的小demo帮助理解下:

    /**
       实体类Persion 属性 
    */
    package me.gacl.domain;
    
    public class Persion {
        private String name;
        private String sex;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
    }

    jsp文件

    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    <%--
    	尝试JSP对JavaBean的操作,实现<jsp:useBean>标签的使用。
     --%>
    <jsp:useBean id="persion" class="me.gacl.domain.Persion" scope="page"></jsp:useBean>
    <%
    	persion.setName("王小二");
    	persion.setSex("男");
    	persion.setAge(18);
    %> 
    
    <jsp:useBean id="persion1" class="me.gacl.domain.Persion" scope="page"></jsp:useBean>
    <jsp:setProperty property="name" name="persion1" value="王小妹"/>
    <jsp:setProperty property="sex" name="persion1" value="女"/>
    
    <%--在Persion的属性里age为int类型,但是在value=12编译将会出错,一下为正确方式。 --%>
    <jsp:setProperty property="age" name="persion1" value="12"/>
    
     
    <!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>
    	<p>useBean的使用方法</p>
    	<h2>姓名:<%=persion.getName() %></h2><br>
    	<h2>性别:<%=persion.getSex() %></h2><br>
    	<h2>年龄:<%=persion.getAge() %></h2><br> 
    	<hr>
    	<p>jsp:setProperty标签使用demo</p>
    	persion1姓名:<%=persion1.getName() %><br>
    	persion1性别:<%=persion1.getSex() %><br>
    	persion1年龄:<%=persion1.getAge() %>
    	
    	<hr>
    	<p>jsp:getProperty(获得属性) 标签使用demo</p>
    	<h2>persion1姓名:<jsp:getProperty name="persion1" property="name"></h2>
           <h2>persion1性别:<jsp:getProperty property="sex" name="person"/></h2>
           <h2>persion1年龄:<jsp:getProperty property="age" name="person"/></h2>
         
    </body>
    </html>
    

      

  • 相关阅读:
    函数
    文件
    字符编码
    卸载python
    mysql修改密码
    playbook
    expect无交互操作
    用户认证
    配置并访问NFS共享
    配置Multipath多路径环境
  • 原文地址:https://www.cnblogs.com/xuewuzhijing95hao/p/7274259.html
Copyright © 2011-2022 走看看