zoukankan      html  css  js  c++  java
  • JSP 基础

    0. 安装

    安装JDK和Tomcat。

    写在tomcat的安装路径的webapps目录下。

    例如创建一个叫firstapp的子目录,然后创建hello.jsp,然后通过以下地址访问。

    http://localhost:8080/firstapp/hello.jsp

    1. JSP 6类元素

    注释元素

    html注释

    <!-- xxxxxxxxxxxxxxxxxxx -- >

    隐藏注释(在jsp文件中,不发送到客户端)

    <%--  xxxxxxxxxx --%>

    scriptlets注释(同java注释)

    模板元素(jsp中静态html或xml内容)

    脚本元素(java代码)

    包括

    1)声明

    <%!
    int number =0;
    %>

    2)表达式

    <%=number%>

    3)scriptlets(java代码)

    <%
    int i;
    String color="";
    countPeople();
    %>

    指令元素

    <%@  directivename  attribute ="value" %>

    1)page指令:设定整个jsp网页的属性和相关功能。

    <%@ page contentType="text/html;charset=GB2312" language="java"  %>

    2)include指令:包含指定位置的资源到当前jsp页面。  

    <%@ include file="hello.txt" %>

    3)taglib指令:允许页面使用用户自定义标签。

    动作元素

    1) <jsp:param>

    2) <jsp:include>   (include指令和include动作的区别?)

        <jsp:include page="include2.jsp" flush="true" >
            <jsp:param name="User" value="HiFi King" />
        </jsp:include> 

    3) <jsp:forward>

            <jsp:forward page="forward1.jsp">    //从当前页面转到 forward1.jsp, 并传递参数a=1
                <jsp:param name="a" value="1" />
            </jsp:forward>

    内建元素

    一般对象需要实例化,内建对象不需要。

    1)out  输出

    out.println("hello <br>");

    2) request  

    getParameter()  单值

    getParameterValues()  多值

    <jsp:include page="include2.jsp" flush="true" >
        <jsp:param name="User" value="HiFi King" />
    </jsp:include> 
    username=request.getParameter("User");
    out.println("Username is "+username+"<br>");

    3)response

    sendRedirect()

    addCookie()

     4)session

    setAttribute()

    getAttribute()

    if (session.getAttribute("Count")==null)
       session.setAttribute("Count",new Integer("0"));
    int cnt=((Integer)session.getAttribute("Count")).intValue();
    session.setAttribute("Count",new Integer(++cnt));

    5) application 存放所有用户共用信息

    6)pageContext

    2.   4种会话管理

    ① 隐藏域

    通过request.getParameter()来接收上一个网页的数据来延续会话

    <input type="hidden" name="*" value="**">

    ② URL重写

    url后加参数,同样通过request.getParameter()来接收

    ③cookies

    用 request.getCookies来接收上次的cookies

    request.addCookie()

    ④session

    session.getAttribute(name);
    session.setAttribute(name,value);
                  如    ("count",new Integer"0")   只能存储对象,不能存储基本数据类型   
    session.removeAttribute(name);  //删除
    session.invalidate();  //销毁
  • 相关阅读:
    bzoj 1176 cdq分治套树状数组
    Codeforces 669E cdq分治
    Codeforces 1101D 点分治
    Codeforces 1100E 拓扑排序
    Codeforces 1188D Make Equal DP
    Codeforces 1188A 构造
    Codeforces 1188B 式子转化
    Codeforces 1188C DP 鸽巢原理
    Codeforces 1179D 树形DP 斜率优化
    git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
  • 原文地址:https://www.cnblogs.com/phoenix13suns/p/3043481.html
Copyright © 2011-2022 走看看