`

jsp知识点总结

阅读更多

1JSP简介

   JSP---Java Server Pages

   拥有servlet的特性与优点(本身就是一个servlet)

   直接在HTML中内嵌JSP代码

   JSP程序由JSP Engine先将它转换成Servlet代码,接着将它编译成类文件载入执行   只有当客户端第一次请求JSP时,才需要将其转换、编译

 2 Scriptlet

       <%=代码%> 局部变量

 3 Declaration

<%!代码%> 成员变量,在此声明的变量、方法都会被保留成唯一的一份,直到JSP程序停止执行  

 <!-- html注释-->

<%--服务器端注释--%>

<%//服务器端单行注释

   /*服务器端多行注释*/

%>

内置对象:outrequestresponseexception

服务器端对象没有办法阻止服务器端程序执行的,只不过显示不出来。<!--<%System.out.println("aaaaaa")%> -->

<%int i%>这段代码在服务器端执行的,客户端接到的是值

<script>

  var ii=0;

<script>客户端执行

<%System.out.println(ii);%>服务器端执行 这句话先执行

 

<script>

 <%out.println("var ii=10");%>//服务器端把这句话传回客户端。

  alert(ii);

</script> 

4Directive 指令

  (编译指令)相当于在编译期间的命令

    <%@page language=“script language”|

           extends=“className”|

   import=“importList”|

   buffer=“none|kb size”|   --none:不缓冲,默认8k

  session=“true|false”|   --是否可以使用session,默认true

   autoFlush=“true|false”  --缓冲器是否自动清除,默认true

          isThreadSafe=“true|false”|  --默认false(永远不要设成true)

        info=“infoText”|    --任何字符

errorPage=“errorPageUrl”|

         isErrorPage=“true|false”|

        contentType=“contentTyepInfo”|

        pageEncoding=“gb2312”

    %>

<%@page contentType="text/html;charset=gb2312"%>如果页面中文出不来,就加上这句话。

<@page errorPage="ErrPage.jsp"%> 页面1

<@page isErrorPage="true" %>页面当前页面是一个处理异常的java页面。

错误信息:<%=exception.getMessage()%>

5include

将指定的JSP程序或者HTML文件包含进来

格式:<%@include file=“fileURL%>

JSP Engine会在JSP程序的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工作。(原封不动的把文件的代码copy到该位置,然后进行转换和编译,只生成一个javaclass)

不能向fileURL中传递参数。在编译期间传参数无意义。

包含页面和被包含页面用的是同一个request对象。

包含页面和被包含页面的编码字符集要一致。

6Action

常见的:

jsp:useBean

jsp:setProperty

jsp:getProperty

jsp:include

jsp:forward

jsp:param

jsp:plugin

嵌入applet

6.1jsp:include

<jsp:include page="dage.jsp" flush="true"/>

用于动态包含JSP程序或HTML文件等

除非这个指令会被执行到,否则它是不会被TomcatJSP Engine编译。

<jsp:include page=“URLSpec” flush=“true”>

    <jsp:param name=“ParamName” value=“paramValue”/>jsp:param用来设定include文件时的参数和对应的值

</jsp:include>

<jsp:include page="URLSpec?ParamName=paramValue" flush="true">

</jsp:include> 作用相同

 

和编译指令include的区别:

include编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后再编译执行;而include指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入

Include不能带参数<jsp:include>可以

动态包含的文件和被包含文件用的不是同一个request对象

被包含页面可以取出包含页面的参数。

包含页面可以给被包含页面传参数。

被包含页面包含的东西比包含页面东西要多。

产生两个class文件

两种包含:静态包含常用,动态包含不常用!

6.2sendRedirect

test.jsp

response.sendRedirect("forforward1.jsp");//往客户端发指令,让客户端转向forforward1.jsp

response.sendRedirecct("http://www.google.com");//这句话也可以。

System.out.println("ddd");//这条指令会被执行

test.jsp?param=paramvalue 如果传参数,forforward1.jsp是接收不到的。

response.sendRedirect("/forforward1.jsp"); /表示的是http://127.0.0.1/

6.3jsp:forward

<jsp:forword page="forforward.jsp"> 在服务器端内部进行转向。所以客户端浏览器地址栏无变化

 虽然是不同的对象,但可以取到上一页面的参数。forward语句不会发给客户端 forward后的语句不会被执行了。

<jsp:forword page="/forforward.jsp"> /代表的是  http://127.0.0.1/webapp根路径/

可以传参数,不但当前页面可以给下一个页面传参数(<jsp param/>),而且当前页面能取得的参数,下一个页面也能取到。

6.4Jsp:userBean

<jsp:userBean id="cb" class="bean.CounterBean"><jsp:userBean>

<%Counterbean cb=new CounterBean();%> 以上两句作用一样。

<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页面有效  只是new出来一个javaBean对象,不是从篮子取。

class:Bean类名称(全名)

type:Bean实例类型,可以是本类,或其父类,或实现接口,默认为本类

Scope各项参数的意义:

    page:仅涵盖使用JavaBean的页面

    request:有效范围仅限于使用JavaBean的请求

    session:有效范围在用户整个连接过程中(整个会话阶段均有效)

    application:有效范围涵盖整个应用程序。也就是对整个网站均有效

<jsp:useBean id="counterBean" scope="request" class="bean.CounterBean"/>下一个页面也能取到counterBean的值

<%bean.CounterBean counterBean=(bean.CounterBean)request.getAttribute("counterBean");

 if(counterBean==null)

{

  counterBean=new bean.CounterBean();

 request.setAttribute("counterBean",counterBean);

}

%> 以上两段代码作用一样!

<jsp:useBean id="entry" class="bean.SaleEntry" />

<jsp:setProperty

       name="entry"

       property="itemID"

       value="<%=request.getParameter("itemID")%>" />

<jsp:setProperty

        name="entry"

        property="numItems"

        param="numItems" />

<jsp:setProperty

         name="entry"

         property="discountCode"

         param="discountCode" />

通过url传参数。

<jsp:getProperty name="entry" property="itemID" />

$<jsp:getProperty name="entry" property="itemCost" />

<jsp:useBean id="hello" class="bean.HelloBean" scope="request" >

  <jsp:setProperty name="hello" property="*" />

</jsp:useBean>

7乱码问题

a.html

<form action=b.jsp method=get>

  <input name=user value="我们">

  <input type=submit value=get>

</form>

<form action=b.jsp method=post>

  <input name=user value=他们>

  <input type=submit value=post>

</form>

<a href="b.jsp?user=你们">this is a link</a>

<jsp:forward page="b.jsp">

  <jsp:param name="user" value="它们" />

<jsp:forward>

public static String URLEncode(String s,String enc)

{

  if(s==null)

   {return "null"}

 if(enc==null)

    {enc="ISO-8859-1"}

....

}

zhongwen="你好"//汉字

bytes=zhongwen.getBytes("GBK");//GBK得到字节

zhongwen=new String(zhongwen.getBytes("GBK"),"iso8859-1");//GBK得到字节,然后以iso8859-1编码 (四个问号,一个字节一个字符)

bytes=zhongwen.getBytes("iso8859-1");//iso8859-1得到字节

bytes=zhongwen.getBytes("utf-8");//utf-8的到字节(8个字节,一个iso8859-1编码的字符被编成两个字节)

zhongwen=new String(bytes,"utf-8");//utf-8得到字节,再以utf-8编码。还原成ISO-8859-1;(四个问号)

bytes=zhongwen.getBytes("iso-8859-1");//iso-8859-1得到字节。

new String(bytes,"GBK");//iso-8859-1得到字节,再以GBK编码。还原成GBK;(汉字)

8Servlet转到jsp

resp.sendRedirect(req.getContextPath()+/servlet_jsp/servlet_usejsp);

this.getSevletConfig.getServletContext().getRequestDispatcher("/servlet_jsp/ServletUseJsp.jsp").forward(req,resp);    /webapp的访问路径

getServletContext().getRequestDispatcher("/servlet_jsp/ServletUseJsp.jsp").forward(req,resp);

<!--EndFragment-->
分享到:
评论

相关推荐

    jsp学习的ppt

    **JavaServer Pages(JSP)技术详解*...这个"jsp学习的ppt"涵盖了以上所有知识点,并可能包含实际示例和练习,是学习JSP的理想资源。通过深入学习和实践,开发者能够熟练掌握JSP技术,构建高效、可维护的Java Web应用。

    jsp总结关于jsp

    ### JSP知识点总结 #### 1. JSP简介 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,用于创建动态网页。它结合了HTML标记和Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP具有以下...

    jsp和servlet知识点总结

    【JSP和Servlet知识点详解】 一、JSP与Servlet的区别 1. **本质与生成**:JSP(Java Server Pages)本质上是Servlet的一种简化形式,它将HTML代码和Java代码结合在一起,经过Web容器(如Tomcat)的处理,被编译成...

    servlet jsp总结

    ### Servlet与JSP知识点总结 #### 一、Servlet概述及基本使用 - **Servlet定义**:Servlet是一种服务器端的小程序,用于处理来自Web浏览器或其他HTTP客户端的请求,并返回响应。Servlet通常作为MVC架构模式中的...

    jsp&servlet知识点总结.doc

    jsp&servlet知识点总结.doc

    JSP基础 课程知识点总结论文

    **JSP基础课程知识点总结** **1. JSP简介** JSP(JavaServer Pages)是Java平台上的一个服务器端技术,用于创建动态网页。它允许开发者将HTML代码与Java代码结合,实现动态内容的生成。JSP的核心优势在于其与Java的...

    jsp小知识点

    根据提供的信息,我们可以总结出以下关于JSP与CSS的相关知识点: ### JSP页面与CSS样式集成 1. **在JSP页面中引入外部CSS样式表:** 在JSP页面中,可以通过`&lt;link&gt;`标签引入外部的CSS样式表文件。例如: ```html...

    知识点总结word.zip

    这份名为"知识点总结word.zip"的压缩包文件,很可能包含了一份精心整理的Java技术学习指南,帮助我们系统地理解和掌握这个强大的编程语言。下面,我们将详细探讨Java的核心概念和技术点,希望能为你的学习之路提供...

    jsp知识点个人总结

    ### JSP知识点个人总结 #### 一、JSP与Tomcat服务器配置 在学习JSP的过程中,正确配置服务器环境是至关重要的第一步。本节将详细介绍如何在Tomcat服务器上配置数据库连接池,以便后续开发中可以方便地进行数据库...

    Servlet&JSP知识点归纳思维导图

    以下是对Servlet和JSP知识点的详细归纳: **Servlet** 1. **Servlet概念**:Servlet是Java编写的小型服务器端程序,运行在Web服务器上,用于处理客户端请求并返回响应。 2. **生命周期**:Servlet的生命周期包括...

    Struts2知识点总结

    以下是对Struts2知识点的详细总结: 1. **Struts2核心组件** - **FilterDispatcher**(或现在的`StrutsPrepareAndExecuteFilter`):这是Struts2的核心过滤器,它负责拦截请求,处理Action映射,并转发到相应的...

    Web学习知识点总结

    Web学习知识点总结涵盖了Web工作原理、HTTP协议、Web服务器缺陷及解决方案、Web应用程序的组成、Servlet等内容,这对于理解和掌握Web开发至关重要。 首先,HTTP(超文本传输协议)是Web通信的基础,它定义了客户端...

    javaWeb知识点总结

    以下是对JavaWeb知识点的详细总结: 1. **Servlet**: Servlet是Java Web应用的基础,它是Java编写的应用程序,用于扩展服务器的功能。通过实现Servlet接口或继承HttpServlet类,我们可以处理HTTP请求并生成响应。 ...

    java综合知识点总结

    本篇文章将深入探讨在Java学习过程中的一些关键知识点和容易混淆的概念。 基础篇: 1. JDK常用的包:Java Development Kit (JDK) 包含了Java运行环境和开发工具,其中核心的几个包如`java.lang`, `java.util`, `...

    关于jsp的一些知识总结

    通过深入学习这些知识点,开发者可以更好地理解和利用JSP来构建高效、健壮的Web应用程序。同时,结合对JVM内存管理和设计模式的理解,可以优化应用性能,避免常见问题,提高系统的稳定性和扩展性。

Global site tag (gtag.js) - Google Analytics