• EL表达式.jsp指令等


    1.JSP标准指令:
    <%@ 标准指令(属性 )%>
    <%@ page %>
    <%@ include %>
    <%@ taglib %>

    2.JSP程序代码元素:
    <%! 变量或方法声明 %>
    <% 程序代码 %>
    <%= 表达式 %>

    <%-- jsp被服务器翻译成servlet时,变量a被翻译成成员变量 --%>
    <%! int a = 1; %>

    <%-- jsp被服务器翻译成servlet时,变量b被翻译成局部变量 --%>
    <% int b = 2; %>
    <body>
    <%-- java代码 --%>
    <% for(int i=0;i<3;i++){%>

    <% out.println(i*8); %>
    <%= (i*8) %>
    <%-- html代码 --%>
    <br>

    <% }%>

    </body>

    <!--这是HTML注解-->
    <%--这是JSP注解--%>
    <%//这是Java注解%>
    <%/*这也是Java注解*/%>

    3.JSP标准动作标签:
    <jsp:forward page="file-url"|"<%=expression%>" />
    <jsp:param name=" paramName" value="paramValue" />
    </jsp:forward>

    //先包含后处理
    <%@ include file=“欲引入的文件 %>
    //先处理后包含
    <jsp:include page=“uri”>
    <jsp:param name=“参数名” value=“值”/>
    </jsp:include>

    <jsp:param>必须同<jsp:include>和<jsp:forward>一起使用。

    4.get方式提交和post方式提交的区别?
    get方式提交的参数会被封装在请求头中,会出现在地址栏上,适合提交少量数据
    post方式提交的参数会被封装在请求体中,不会出现在地址栏上,适合提交大量数据(例如上传文件必须使用post方式提交)

    5.转发和重定向有什么区别?

    request.getRequestDispatcher("地址").forward(request,response);或者<jsp:forward page=""/>
    转发:一次请求,地址栏不变,服务器端跳转,执行到跳转语句后立刻跳转-之后代码不执行(这种情况仅限于使用标签转发)

    response.sendRedirect("地址");
    重定向:二次请求,地址栏改变,客户端跳转,作用是告诉浏览器按照所给路径重新给服务器发请求,所有代码执行完毕之后再跳转

    (HttpServletRequest request, HttpServletResponse response)

    6.JSP有以下九种内置对象,包括:
    page,页面对象 java.lang.Object
    request,请求对象 javax.servlet.http.HttpServletRequest
    session,会话对象 javax.servlet.http.HttpSession
    application,应用程序对象 javax.servlet.ServletContext
    out,输出对象 javax.servlet.jsp.JspWriter
    response,响应对象 javax.servlet.http.HttpServletResponse
    pageContext,页面上下文对象 javax.servlet.jsp.PageContext
    config,配置对象 javax.servlet.ServletConfig
    exception,异常对象 java.lang.Throwable

    存取范围从小到大依次是:page、request、session、application
    page:一个页面共享数据
    request:一次请求共享数据
    session:一次会话共享数据
    application:所有用户共享数据
    application是所有用户共享的,任何用户都可以访问,而session对象则是每个用户私有的

    1>四个域对象的生命周期
    1) pageContext jsp执行时创建pageContext jsp页面结束时pageContext销毁
    2) request 客户请求服务器时创建,请求结束request销毁
    3) session 客户机请求服务器时,第一次getSession时,服务器创建session,session过xx多长时间没用了(或调用了session.invalidate方法),服务器销毁session
    4) servletContext(application) web应用启动时就创建,web应用停止就销毁.一个web应用只有一个application对象.


    2>什么情况下用什么域的问题
    1)什么情况下用request域?如果在开发程序时,数据看完就没用了,那就应该把数据存在request域范围内。比如看新闻,新闻属于用户看完就没用的数据,这时servlet获得新闻数据,就应该存在request里面交给jsp显示。

    2)什么情况下用session域?如果在开发程序时,数据看完了用户等一会儿还要用,那就应该把数据存在session域范围内.例如购物,购买的商品是用户的数据,这个数据产生之后,用户等一会儿结帐还要用,那么程序就应该把数据存在用户的session中。

    3)什么情况下用application域?如果在开发程序,数据产生了,这个数据不仅等一会儿自己要用,还要给别人用,那就应该存在application域,例如web聊天室,用户的聊天数据,这个数据不仅用户等一会儿自己要看,还要给别人看。

    7.Servlet监听器

    8.学习使用JSTL(Jsp Standard Tag Library,jsp标准标签库)和EL表达式
    1)核心标签库
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

    <table>
    <c:forEach items="${requestScope.aaa}" var="t" begin="0" end="2" step="1">
    <tr><td>${t.titleid}</td><td>${t.titlename}</td></tr>
    </c:forEach>
    </table>

    2)EL表达式
    ${requestScope.aaa} 相当于<%=request.getAttribute("aaa") %>
    ${sessionScope.aaa} 相当于<%=session.getAttribute("aaa") %>
    ${applicationScope.aaa} 相当于<%=application.getAttribute("aaa") %>
    ${param.aaa} 相当于<%=request.getParameter("aaa") %>
    ${paramValues.aaa} 相当于<%=request.getParameterValues("aaa") %>
    ${t.titleid} 相当于<%=t.getTitleid() %>

  • 相关阅读:
    04-树7 二叉搜索树的操作集
    04-树6 Complete Binary Search Tree
    04-树5 Root of AVL Tree
    04-树4 是否同一棵二叉搜索树
    05-树8 File Transfer
    05-树7 堆中的路径
    二叉树的非递归遍历(先序、中序、后序和层序遍历)
    队列的定义与操作——顺序存储和链式存储
    Maven项目的核心pom.xml解释(转)
    eclipse安装插件的三种方式
  • 原文地址:https://www.cnblogs.com/songyinan/p/6160062.html
Copyright © 2020-2023  润新知