zoukankan      html  css  js  c++  java
  • JSP所需要掌握的部分

      1 JSP基本语法 
      2 
      3 指令        <%@ 指令%>
      4 JSP指令是JSP的引擎
      5 主要的两种指令是page和include(taglib)
      6 <%@ page import="java.util.*" %>
      7 
      8 声明        <%! 声明%>
      9 <%! int i = 0; %> 
     10 
     11 可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
     12 
     13 
     14 表达式      <%= 表达式%>
     15 <font color="blue"><%= map.size() %></font> 
     16 
     17 
     18 代码段/脚本段     <% 代码段%>
     19 <% 
     20 String name = null; 
     21 if (request.getParameter("name") == null) { 
     22 %> 
     23 
     24 注释         <%-- 注释--%>
     25 
     26 ---------------------------
     27 JSP的动作
     28 jsp:include:在页面被请求的时候引入一个文件。 
     29 jsp:useBean:寻找或者实例化一个JavaBean。 
     30 jsp:setProperty:设置JavaBean的属性。 
     31 jsp:getProperty:输出某个JavaBean的属性。 
     32 jsp:forward:把请求转到一个新的页面。 
     33 jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。
     34 
     35 
     36 <jsp:include page="relative URL" flush="true" /> 
     37 <jsp:include page=" /page1.html" flush="true"/> 
     38 或者
     39 <%@ include file="/header.jsp"%>
     40 
     41 
     42 jsp:useBean动作 
     43 在JSP文件被转jsp:useBean动作用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因
     44 
     45 为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。
     46 此动作用来生成一个bean组件,并设定它的id号及使用范围
     47 
     48 <jsp:useBean  id=”beanName”  scope="page|request|session|
     49 
     50 application|"class="package.class”  type="package.class"  beanName="{package.class|<
     51 
     52 %=expression%>}  type="package.class"">action  for  bean  </jsp:useBean>
     53 
     54 ---------------------------------上午
     55 五种基本语法
     56 指令、声明、表达式、代码段/脚本段、注释
     57 
     58 JSP执行原理:
     59 webapps:发布的项目在这里
     60 work:真正运行的工作环境
     61 
     62 JSP就是Servlet(从work下查看one_jsp.java文件)
     63 
     64 表达式相当于out.write(xxx)
     65 
     66 以后要是JSP有问题的,就到底层去查看servlet源码
     67 
     68 -----JSP指令
     69 page指令:只需了解 language、import、pageEncoding
     70 
     71 include指令:
     72 <%@ include file="one.html"%>
     73 //只能引入静态文件
     74 在jsp转换为Servlet的时候引入文件
     75 
     76 
     77 ----JSP动作
     78 <jsp:include page="" flash="true"/>
     79 在页面请求的时候动态的加载进去
     80 //注:动态比静态好
     81 
     82 jsp:useBean    jsp1.0-1.2  
     83 
     84 
     85 <jsp:forward page="one.jsp">
     86 //服务端跳转
     87 
     88 -----JavaBean
     89 是一个比较复杂的概念,但是在jsp中使用较为简单
     90 
     91 简单javabean:一个类 需要提供:
     92 1、所有相关属性  私有化
     93 2、提供属性的 set get 方法
     94 3、提供无参的构造函数
     95 4、实现序列化接口(************了解)//适用于网络应用
     96 
     97 
     98 EJB: 3种 bean对象 
     99 
    100 使用JavaBean:
    101 
    102 <jsp:useBean id="test" scope="page" class="xxx"/>
    103 
    104 //解释
    105 //Object o=session.getAttribute("test");
    106 //if(o==null){
    107 //Student test=Class.forName("xxx").newInstance();
    108 //session.setAttribute("test",test);
    109 //}
    110 
    111 注意:这就是为什么在控制台中syso("构造函数名")
    112 request每次都显示,而session只显示一次,由以上代码可看出
    113 
    114 
    115 
    116 
    117 <jsp:getProperty name="test" property="sname"/>
    118 //在页面中显示属性name的值
    119 
    120 <jsp:setProperty name="test" property="age" value="30"/>
    121 //value与param 只能有一个存在
    122 
    123 //第二种方式,在useBean里设置setProperty
    124 
    125 
    126 
    127 jsp:四种范围
    128 page:页面范围  当前页面    比request还要窄   
    129 request: request
    130 session: session
    131 application: servletContext
    132 
    133 
    134 -----------九大内置对象
    135 <%
    136 1、pageContext  //page范围  Servlet没有此范围,JSP独有
    137 pageContext.setAttribute("name","page");
    138 
    139 2、request:相当于Servlet中的request  用法一样     
    140 request.setAttribute("name","request");
    141 //Servlet中为request.setAttribute(name,value)
    142 
    143 3、session:相当于Servlet中的session
    144 session.setAttribute("name","session");
    145 //Servlet中为request.getsession().setAttribute(name,value)
    146 
    147 4、application:相当于Servlet中的servletContext
    148 application.setAttribute("name","application");
    149 //Servlet中为request.getsession().getServletContext().setAttribute(name,value)
    150 
    151 5、response:相当于Servlet中的ServletResponse
    152 response.sendRedirect();
    153 //Servlet中为response.sendRedirect("/项目名/路径名");
    154 
    155 6、out:相当于Servlet中的response.getWriter();
    156 out.write("0000000");
    157 //Servlet中为PrintWriter out = response.getWriter();   out.println("<HTML>");
    158 
    159 7、config:相当于Servlet中的servletConfig
    160 //out.write(config.getServletName())
    161 
    162 8、page:JSP网页本身
    163 //使用方式为pageContext.setAttribute("name","page");
    164 //即pageContext是page的对象
    165 
    166 9、exception:针对错误网页,未捕捉的例外
    167 //在JSP指令中使用,即 isErrorPage="true|false" 
    168 
    169 %>
    170 
    171 
    172 
    173 
    174 
    175 
    176 
    177 
    178 
    179 
    180 ---------------------------------备注
    181 等EL表达式上完了,接下来两个星期小组做项目
    182 要需求文档、阶段设计、说明书等
    183 等下周EL结束!!!
  • 相关阅读:
    centos8 将SSSD配置为使用LDAP并要求TLS身份验证
    Centos8 搭建 kafka2.8 .net5 简单使用kafka
    .net core 3.1 ActionFilter 拦截器 偶然 OnActionExecuting 中HttpContext.Session.Id 为空字符串 的问题
    Springboot根据不同环境加载对应的配置
    VMware Workstation12 安装 Centos8.3
    .net core json配置文件小结
    springboot mybatisplus createtime和updatetime自动填充
    .net core autofac依赖注入简洁版
    .Net Core 使用 redis 存储 session
    .Net Core 接入 RocketMQ
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/6101143.html
Copyright © 2011-2022 走看看