首页 > 代码库 > JSP一些相关知识

JSP一些相关知识

JSP代码虽然看起来更像web页面而不像servlet,但是JSP在运行时会被转换成servlet

JSP到servlet的转换过程一般在出现第一次页面请求时进行。JSP页面包括普通HTML代码还有脚本,指令和动作

脚本用来嵌入Java代码,并将其转换成servlet的一部分。JSP指令用来控制servlet的结构。动作用来引入组件或者控制JSP引擎 

JSP Expression: <%= expression%> 计算表达式 并把输出结果转换成字符串

HostName = <%=request.getRemoteHost()%>

JSP Scriptlet: <%     %> 插入到service方法的代码,scriptlet前后的静态HTML将被转换成println语句,因此Scriptlet内的Java语句并不一定完整,没有关闭的部分可能影响HTML。另外在scriptlet内部使用“%>”必须写成"%\>"

<%if(i<5){%>
i is less than 5
<%}else{%>
i is not less than 5
<%}%>

当转换成Servlet的时候代码如下:

if(i<5){
    out.println("i is less than 5");
}else{
    out.println("i is not less than 5");
}

JSP Declaration <%!         %> 插入到Servlet类 service方法之外

<%! private int counter=0; %>
<%= ++counter %>

JSP Directive: <%@page import="     " %> 作用于Servlet的全局指令

    page指令的属性有:import="package.class", contentType="MIME-Type", isThreadSafe="true|false", session="true|false", buffer="size kb|none", autoflush="true|false", errorPage="url", isErrorPage="true|false", language="java", extends="package.class"

                     <%@include file="url"     %> 当转换成Servlet时 应包含的本地系统上的指定文件

JSP comment: <%--    --%>


JSP Implicit Object (预定义变量

    request: HttpServletRequest, 查看请求参数,类型,HTTP头

    response: HttpServletResponse

    out: PrintWriter, 一般只在scriptlet中使用

    session: HttpSession

    application: ServletContext

    config: ServletConfig

    pageContext: 页面属性

    page

JSP动作

    jsp:include - <jsp:include page="relative URL" flush="true"/>

    jsp:useBean - 用来装载jsp页面中使用的JavaBean, <jsp:useBean id="name" class="package.class">, 创建一个由class属性指定的类的实例,并将其绑定到其名字由id给出的变量上

    jsp:setProperty - 设置已经实例化的Bean对象的属性

    jsp:getProperty - 提取指定Bean属性的值 转换成字符串并输出

    jsp:forward - 将请求转到其他的页面

    jsp:plugin