`
huangyongxing310
  • 浏览: 496430 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JSP 基础

    博客分类:
  • JSP
 
阅读更多
JSP 基础


工作原理
1.JSP引擎会将JSP文件编译成.class文件,就是一个servlet类,里面包含了一部分servlet里需要的对象和变量,还有以MAP参数传入的用户数据。
2.当请求这个JSP文件时就是把相关用户参数作为参数引用这个servlet类里的一个jspservic方法进行返里页面内容。



JSP 语法
1.脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
语法格式:
<% 代码片段 %>



JSP声明(只是定义好,不进行输出)
1.一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:
<%! declaration; [ declaration; ]+ ... %> //多了一个“!”



JSP表达式(结果变成String放到这里来)
1.一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
2.由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
3.表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:
<%= 表达式 %>



JSP注释
<%-- 注释 --%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译
<!-- 注释 --> HTML注释,通过浏览器查看网页源代码时可以看见注释内容



JSP指令(是在生成servlet时进行的)
JSP指令用来设置与整个JSP页面相关的属性。(就是servlet里的有关对象的属性)
JSP指令语法格式:
<%@ directive attribute="value" %>

<%@ page ... %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %> 包含其他文件
<%@ taglib ... %> 引入标签库的定义,可以是自定义标签

http://www.runoob.com/jsp/jsp-directives.html



JSP行为(是有请求时进行的)
JSP行为标签使用XML语法结构来控制servlet引擎。
一种语法格式:
<jsp:action_name attribute="value" />


include指令,它是在JSP文件被转换成Servlet的时候引入文件,而这里的jsp:include动作不同,插入文件的时间是在页面被请求的时候。
http://www.runoob.com/jsp/jsp-actions.html



JSP隐含对象
JSP支持九个自动定义的变量,江湖人称隐含对象。(就是servlet里默认包含的对象)
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象

http://www.runoob.com/jsp/jsp-implicit-objects.html



JSP 表单处理
JSP 读取表单数据
getParameter(): 使用 request.getParameter() 方法来获取表单参数的值。
getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkbox类型
getParameterNames():该方法可以取得所有变量的名称,该方法返回一个Emumeration。
getInputStream():调用此方法来读取来自客户端的二进制数据流。

<form action="main.jsp" method="POST/GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>



JSP 过滤器(实际就是java的过滤器)
JSP 和 Servlet 中的过滤器都是 Java 类。
过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。
可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。



JSP Cookie 处理
JSP Cookie 处理需要对中文进行编码与解码,方法如下:
String   str   =   java.net.URLEncoder.encode("中文");            //编码
String   str   =   java.net.URLDecoder.decode("编码后的字符串");   // 解码


使用JSP设置Cookie
Cookie cookie = new Cookie("key","value");//cookie名称和值做参数//名称和值中都不能包含空格或者如下的字符:[ ] ( ) = , " / ? @ : ;
cookie.setMaxAge(60*60*24);//设置有效期
response.addCookie(cookie);// 将cookie发送至HTTP响应头中

使用 JSP 读取 Cookie
Cookie cookie = null;
   Cookie[] cookies = null;
   // 获取cookies的数据,是一个数组
   cookies = request.getCookies();
   if( cookies != null ){
      out.println("<h2> 查找 Cookie 名与值</h2>");
      for (int i = 0; i < cookies.length; i++){
         cookie = cookies[i];

         out.print("参数名 : " + cookie.getName());
         out.print("<br>");
         out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
         out.print("------------------------------------<br>");
      }
  }


使用JSP删除Cookie
Cookie cookie = null;
   Cookie[] cookies = null;
   // 获取当前域名下的cookies,是一个数组
   cookies = request.getCookies();
   if( cookies != null ){
  out.println("<h2> 查找 Cookie 名与值</h2>");
      for (int i = 0; i < cookies.length; i++){
         cookie = cookies[i];
         if((cookie.getName( )).compareTo("name") == 0 ){
            cookie.setMaxAge(0);
            response.addCookie(cookie);
            out.print("删除 Cookie: " +
            cookie.getName( ) + "<br/>");
         }
         out.print("参数名 : " + cookie.getName());
         out.print("<br>");
         out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
         out.print("------------------------------------<br>");
      }
  }


JSP Session
if (session.isNew()){
      title = "访问菜鸟教程实例";
      session.setAttribute(userIDKey, userID);
      session.setAttribute(visitCountKey,  visitCount);
   } else {
   visitCount = (Integer)session.getAttribute(visitCountKey);
   visitCount += 1;
   userID = (String)session.getAttribute(userIDKey);
   session.setAttribute(visitCountKey,  visitCount);
   }



JSP 页面重定向
public void response.sendRedirect(String location)
throws IOException

您也可以使用setStatus()和setHeader()方法来得到同样的效果:
....
String site = "http://www.runoob.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....



JSP 自动刷新
JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。
public void setIntHeader(String header, int headerValue)

<%
   // 设置每隔5秒刷新一次
   response.setIntHeader("Refresh", 5);
   // 获取当前时间
   Calendar calendar = new GregorianCalendar();
   String am_pm;
   int hour = calendar.get(Calendar.HOUR);
   int minute = calendar.get(Calendar.MINUTE);
   int second = calendar.get(Calendar.SECOND);
   if(calendar.get(Calendar.AM_PM) == 0)
      am_pm = "AM";
   else
      am_pm = "PM";
   String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
   out.println("当前时间为: " + CT + "\n");
%>


JSP 发送邮件



JSP 标准标签库(JSTL)(就是用标签的方式替代代码的一个库,方便使用)



分享到:
评论

相关推荐

    JSP基础练习 ppt

    **JSP基础练习PPT** 是一套专门为初学者设计的学习资料,旨在帮助用户全面理解Java Server Pages(JSP)的基本概念和技术应用。JSP是一种在服务器端运行的动态网页技术,由Sun Microsystems(现已被Oracle公司收购)...

    jsp基础学习资料(jsp基础学习资料)

    **JSP基础学习资料概述** JavaServer Pages (JSP) 是一种动态网页技术,由Sun Microsystems(现为Oracle公司)开发,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现服务器端的动态网页生成。JSP的...

    jsp基础学习课件(从基础开始),进一步了解JSP的相关基础应用。

    **JSP基础学习课件概述** Java Server Pages(JSP)是SUN公司主导并由多家公司参与开发的一种动态网页技术,自1999年发布以来,它已经成为基于Java Servlet和Java体系的Web开发技术的重要组成部分。JSP的主要特点是...

    jsp基础PPT,适合初学

    **JSP基础与HTML概述** **1. JSP与HTML的关系** JSP(JavaServer Pages)是一种动态网页技术,它允许开发人员将Java代码嵌入到HTML页面中,以实现服务器端的逻辑处理。在JSP中,HTML作为静态内容的基础,提供了网页...

    JSP基础 (PDF)

    **JSP基础** JavaServer Pages(JSP)是Java平台上的动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,从而实现服务器端的动态内容生成。JSP技术自1999年发布以来,已经成为企业级Web开发的重要工具,...

    jsp基础教程 黑魔方 源码

    **JSP基础教程 黑魔方 源码** JSP(Java Server Pages)是一种动态网页技术,由Sun Microsystems开发,现在归Oracle公司所有。它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现服务器端的动态内容...

    jsp基础教程 网页形式

    【JSP基础教程精讲】 JavaServer Pages(JSP)是一种动态网页技术,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现动态网页的创建。本教程将深入浅出地讲解JSP的基本概念、语法结构以及常见应用。...

    JSP基础与案例开发详解2

    **JSP基础与案例开发详解** JSP(JavaServer Pages)是Java技术中用于构建动态网页的一种技术。它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。JSP的基础知识涵盖以下几个核心概念: 1. **JSP...

    jsp基础教程(清华版)源码

    《JSP基础教程(清华版)》是一本详细介绍JavaServer Pages(JSP)技术的教材,其中包含了丰富的源码示例。源码涵盖了从基本概念到实际应用的多个方面,帮助初学者理解JSP的工作原理和语法。以下是教程中涉及的一些...

    jsp 基础思想 入门

    【JSP基础思想入门】 Java Server Pages(JSP)是一种基于Java技术的动态网页开发工具,主要用于构建交互式的Web应用程序。它是由Sun Microsystems公司推出的,旨在解决Servlet在开发动态网页时遇到的问题,如代码...

    JSP基础课件(入门教程)

    **JSP基础课件(入门教程)** JavaServer Pages(JSP)是Java平台上用于创建动态网页的一种技术,由Sun Microsystems(现已被Oracle公司收购)于1999年推出。JSP允许开发者将静态HTML内容与动态Java代码结合起来,...

    jsp基础语法ppt

    ### JSP基础语法 1. **JSP页面结构**:一个基本的JSP页面由HTML结构和JSP元素组成,JSP元素包括指令、脚本元素和动作元素。例如: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; ...

    JSP基础教程(清华版)

    **JSP基础教程(清华版)** Java Server Pages(JSP)是Java平台上的一个标准技术,用于开发动态web应用程序。清华大学推出的JSP基础教程,以其权威性和实用性,深受学习者喜爱。本教程旨在帮助初学者理解JSP的核心...

    jsp基础上实现select

    本示例将详细解释如何在JSP基础之上实现`&lt;select&gt;`的选择功能。 首先,我们需要理解JSP的基本结构。JSP是一种服务器端的动态网页技术,它允许我们在HTML页面中嵌入Java代码,以便于处理服务器端的数据和逻辑。在JSP...

    JAVA/JSP基础教程(彩色图文PDF)

    总的来说,这份"JAVA/JSP基础教程"涵盖了Java编程语言、JSP技术、HTML基础、Servlet以及Web开发的入门知识。通过深入学习和实践,初学者可以逐步掌握这些技能,为成为专业的Java Web开发者奠定坚实的基础。

    新手必备-《JSP基础教程》源代码

    在《JSP基础教程》中,你可能会学到以下关键知识点: 1. **JSP基本结构**:一个JSP页面由静态HTML、CSS和JavaScript组成,同时可以嵌入Java代码片段。这些Java代码可以是脚本元素(Scriptlets)、表达式、声明、...

    JSP基础教程源代码200例

    **JSP基础教程源代码200例** 本教程集合了200个JSP(JavaServer Pages)的基础示例,旨在帮助初学者快速掌握JSP的核心概念和技术。JSP是一种动态网页技术,它允许开发者将HTML、XML或者其他标记语言与Java代码相...

    JSP基础知识-期末复习题

    以下是对JSP基础的详细解释: 1. 访问JSP页面的URL:在Web服务目录下,如`helloapp/hello.jsp`,要访问该页面,我们需要使用HTTP协议,加上服务器的IP地址或域名以及端口号。因此,正确的URL应该是`...

    JSP基础教程.rar

    JSP基础教程.rar JSP基础教程.rar

    JSP基础教程(清华版).0002.pdf

    《JSP基础教程》这本书旨在为初学者提供一个全面而系统的JSP技术入门指导。通过学习本书,读者不仅能够掌握JSP的基本概念和操作方法,还能深入了解JSP的工作原理和技术优势,为进一步深入学习Java Web开发打下坚实的...

Global site tag (gtag.js) - Google Analytics