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();  //销毁
原文地址:https://www.cnblogs.com/phoenix13suns/p/3043481.html