1、request.getRemoteHost()拿到客户端的IP地址
toLocaleString() 表示当地的
request.getParameter("xxxxx")返回值永远是String类型
2、JSP中使用session直接使用<%= session.getID() %>
3、<%= request.getParameter("xxxxx") %>拿到输入的参数
4、Directive(编译指令)相当于编译期间的命令 格式:
<%@Directive属性=“属性值”%>常见的
4.1、<%@page属性=“属性值”
import=“”引入包
errorPage=“emorPageUrl”当页面有错误的时候请显示Url页面 这时把
<%@page isErrorPage="true"%>
isErrorPage="true/false"
contentType="test/html;charset=gb2312"
%>
4.2、<%@ include file="xxx.jsp"%>JSP Engine会在JSP程序的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工作。(原封不动的把文件的代码copy到该位置,然后进行转换和编译,只生成一个java和class)
限制:
不能向fileURL中传递参数
不能abc.jsp?user=aaa5、Action
5.1、jsp:include/jsp:param
用于动态包含JSP程序或HTML文件等
除非这个指令会被执行到,否则它是不会被Tomcat等JSP Engine编译。
格式:<jsp:include page=“URLSpec” flush=“true”/>
<jsp:include page=“URLSpec” flush=“true”>
<jsp:param name=“ParamName” value=“paramValue”/>
</jsp:include>jsp:param用来设定include文件时的参数和对应的值
例如:
date.jsp/include.jsp
Compute.html/Compute.jsp/divide.jsp/multiply.jsp和编译指令include的区别 include编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后再编译执行;而include指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入
Include不能带参数, 而<jsp:include>可以
动态包含的文件和被包含文件用的是同一个request对象
Flush用于设定是否将结果马上打印出来,必须为“true”,因为在JSP1.1中,false是无效的设定
<jsp:forward>与response.sendRedirect的区别::::<jsp:forward>: 使用同一个request
forward后的语句不会继续发送给客户端
速度快
服务器内部转换
可以传参数
完成之后不会改变url
response.sendRedirect:
是不同的request,发起两次请求
send后的语句会继续执行,除非return
速度慢 test.jsp?ccc=ccc(不成功)
需要到客户端的往返,可以转到任何页面
可以传参数,直接写在url后
<jsp:useBean id="cb" class="bean.CounterBean"/>
相当于:
<% CounterBean cb = new CounterBean(); %>
<jsp:useBean id="cb" class="bean.CounterBean" type="java.lang.Object"/>
相当于:
<% Object cb = new CounterBean(); %>type是把id当成是什么对象来用
<jsp:setProperty name="cb" property="count" value="23"/> 相当于:::
<% cb.setCount(Integer.parseInt("23")) %><jsp:getProperty name="cb" property="count"/> 相当于::: <%-- out.print(cb.getCount()) --%>jsp:useBean各项参数含义: id:对象实例名称
scope:Bean作用的范围,默认为page,对整个jsp页面有效
class:Bean类名称(全名)
type:Bean实例类型,可以是本类,或其父类,或实现的接口,默 认为本类
Scope各项参数的意义:
page:仅涵盖使用JavaBean的页面 局部变量
(PageBean.jsp/CounterBean.java)
request:有效范围仅限于使用JavaBean的请求
(RequestBean.jsp/RequestBean2.jsp/CounterBean.java)
session:有效范围在用户整个连接过程中(整个会话阶段均有效)
(SessionBean.jsp/Session2.jsp/CounterBean.java)
application:有效范围涵盖整个应用程序。也就是对整个网站均有 效 (Application.jsp/Application2.jsp/CounterBean.java)