zoukankan      html  css  js  c++  java
  • JSP,EL,JSTL快速入门


    JSP,EL,JSTL快速入门
    JSP
    由于Servlet技术有着明显的缺点,需要开发人员十分熟悉JAVA,不便于页面的调试与维护,也很难利用网页设计工具进行页面设计,后来提供JSP技术替代,
    Servlet技术用来动态生成网页数据资源
    Servlet生成HTML页面数据时,所有内容都是通过response.getWriter response.getOutputStreamIO流向浏览器输出,如果网页信息的内容特别复杂打印的过程就是什么麻烦的。
    JSP与Servlet一样是在服务器端执行的,不同的是JSP必须由服务器编译部署成Servlet程序才能运行。

    写JSP的过程和编写HTML的过程一样,但是可以通过一些<% %>号嵌入java的代码,所以可以看出Servlet就是嵌入html的java文件,JSP是嵌入java的Html文件

    JSP运行的原理
    1.客户端访问hello.jsp
    2.服务器读取hello.jsp内容加载到内存
    3.服务器根据hello.jsp内容生成Servlet的java程序保存在work目录里,hello_jsp.java,且这文件的包名是固定的org.apache.jsp
    4.服务器编译生成hello_jsp.class文件运行Servlet。
    JSP中所有的代码都会被翻译到Servlet中的service方法中。HTML代码翻译成成out.write("html");java代码保持原样

    JSP脚本元素
    1.声明<%! %>其中声明的内容会等定义为成员,方法,内部类
    2.表达式<%= %>向页面输出等价于<%out.print()%>
    3.代码块<% %>可以编写任何的java程序代码,注意代码块可以和html代码嵌套使用
    <%
    for(int i=0;i<10;i++){
    %>
    <h1>这是html与代码块的嵌套,会被重复执行十次,输出十遍</h1>
    <%
    }
    %>

    开发网页程序选择时根据其中的代码量来决定选择,java代码多使用Servlet,Html代码多使用JSP。要注意只有第一次访问JSP进行翻译,以后访问如果没有修改的话不会再进行翻译

    EL
    语法:${标识符}
    用EL可以获得Servlet中几种数据域对象的值如ServletContext和HttpServletRequest数据域
    ${applicationScope.name}等价于<%=getServletContext().getAttribute(name)%>
    ${requestScope.name}等价于<%=request.getAttribute(name)%>

    JSTL
    标准标签库用于简化页面<%%>与HTML嵌套写法,与EL一起用来简化JSP的开发。
    <c:forEach>用来替代for循环
    <c:if>用来替代if判断语句
    例如
    <h1>使用el标签替代if语句</h1>
    <% request.setAttribute("b",10) ;%>
    <c:if test="${requestScope.b>8}"><h1>我大于8</h1></c:if>
    <% request.setAttribute("arr",new int[]{3,2,4,5}); %>
    <c:forEach items="${requestScope.arr}" var="i">
    i的是值是${i}<br/>
    </c:forEach>

  • 相关阅读:
    14组作品的优点与建议
    人月神话读后感1
    [置顶] acm入门
    POJ 3041 Asteroids 【匈牙利算法最小点覆盖】
    acm入门
    【转】acm入门
    POJ 1469 COURSES【匈牙利算法入门 二分图的最大匹配 模板题】
    二分图最大匹配总结【转自kb神】
    POJ 3041 Asteroids (匈牙利算法最小点覆盖)
    POJ 1258 AgriNet (最小生成树入门题目)
  • 原文地址:https://www.cnblogs.com/ss561/p/4619463.html
Copyright © 2011-2022 走看看