zoukankan      html  css  js  c++  java
  • JSP 1

    1、<%!  %>定义变量,类变量<% %>代码块,方法<%= %>调用定义变量的值
    2、synchronized,修饰线程共享变量,或者方法
    3、在“<%”和“%>”之间插入Java 程序片,按顺序执行,在一个程序片中声明的变量称做JSP 页面的局部变量,它们在JSP 页面内的所有程序片部分以及表达式部分内都有效。
    4、import="java.util.*,java.io.*",引入多个包时
    5、在“<%=”和“%>”之间插入一个表达式(注意:不可插入语句,“<%=”是一个完整的符号,“<%”和“=”之间不要有空格),这个表达式必须能求值。表达式的值由服务器负责计算,并将计算结果用字符串形式发送到客户端显示。

    HTML注释  <!-- 注释内容 --> JSP注释   <%-- 注释内容 --%>

    相对路径名,根目录  String path = request.getContextPath(); 绝对路径名,根目录  String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

    request.getParameter("a") 得到网页里元素的值,根据元素的name属性

    JSP指令标签  <%@ page contentType="text/html;charset=GB2312" %>  页面可以显示标准汉语  如果为一个属性指定几个值话,这些值用逗号分割。page 指令只能给import 属性指定多个值;其它属性只能指定一个值。  <%@ page import="java.util.*" ,"java.io.*" , "java.awt.*" %>  或者  <%@ page import="java.util.*,java.io.*,java.awt.*" %>    JSP 页面默认import 属性已经有如下的值:  " java.lang.*"、 "javax.servlet.*" 、"javax.servlet.jsp.*"、"javax.servlet.http.*"。    info 属性:  该属性为JSP 页面准备一个字符串,属性值是某个字符串。例如,<%@ page info= “we are students” %>  getServletInfo(); 获取 info 属性的属性值。    include 指令标签  如果需要在JSP 页面内某处整体嵌入一个文件,就可以考虑使用这个指令标签。该指令标签语法如下:  <%@ include file= “文件的名字” %>  当插入文件时,必须注意<%@ page contentType="text/html;charset=GB2312" %>属性,防止出现两个,导致错误    在JSP 页面静态插入一个文本文件,该文本文件必须和当前JSP 页面在同一Web 服务目录中  插入JSP的时候,也是如此   JSP动作标签  <jsp:include page="" />或者<jsp:include page="" ></jsp:include>    该动作标签告诉JSP 页面动态包含一个文件,即JSP 页面运行时才将文件加入。与静态插入文件的include 指令标签不同,当JSP 引擎把JSP 页面转译成Java 文件时,不  把JSP 页面中动作指令include 所包含的文件与原JSP 页面合并一个新的JSP 页面,而是告诉Java 解释器,这个文件在JSP 运行时(Java 文件的字节码文件被加载执行)才  包含进来。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是jsp 文件,JSP 引擎就执行这个文件,然后将执行的结果  发送到客户端,并由客户端负责显示这些结果。注:include 动作标签与静态插入文件的include 指令标签有很大的不同,动作标签是在执行时才对包含的文件进行处理,因此JSP 页面和它所包含的文件在逻辑和语法上  是独立的;如果你对包含的文件进行了修改,那么运行时看到所包含文件修改后的结果,而静态include 指令包含的文件如果发生了变化,我们必须要重新将JSP页面转译成java  文件(可将该JSP 页面重新保存,然后再访问,就可产生新的转译Java 文件),否则只能看到所包含的修改前的文件内容。  注:书写include 动作标签:<jsp:include page …../>时要注意:“jsp”、“:”、“include”三者之间不要有空格。   param 动作标签 param标签以“名字—值”对的形式为其它标签提供附加信息,这个标签与jsp:include、jsp:forward、jsp:plugin标签一起使用。 <jsp:param name= “名字” value= “指定给param 的值”>

    <jsp:forward page="come.jsp" > <jsp:param name="number" value="<%=i%>" /> </jsp:forward>页面跳转之后,地址栏不会发生改变,类似ASP.NET的Server.Transfer方法

    Plugin 动作标签: <jsp:plugin type="applet" code="小应用程序的字节码文件" jreversion="java 虚拟机版本号" width="小程序宽度值" height="小程序高度值" > <jsp:fallback> 提示信息:用来提示用户的浏览器是否支持插件下载 </jsp:fallback> </jsp:plugin> 注:如果JSP 页面和java applet 小程序不在同一文件下,plugin 标签中应增加codebase 选项,指出小程序所在的位置。比如,如果上述例子的B.class 存放在Root的Myfile 文件下。那么,Plugin 标签: 另外,在plugin 标签中还可以增加如下的选项,以便控制java applet 的位置aligin:取值是“bottom”、“top”、“middle”、“left”或“right”。例如,Aligin 取值是“left”时,小程序在页面的左面,页面的其它部分在右面。Hspace:指定java applet 与左右对象,比如文字图象等之间的距离。Vspace:指定java applet 与上下对象,比如文字图象等之间的距离

    第三章   JSP内置对象 JSP 的内置对象有:resquest 、response、session、 application 、out。

    request.getParameter("boy"),防止获取的值出现乱码,可以添加 <% request.setCharacterEncoding("utf-8"); %>避免乱码出现 也可以使用  String buttonName = request.getParameter("submit");    byte b[]=buttonName.getBytes("ISO-8859-1");  buttonName=new String(b,"utf-8");  来避免出现乱码问题

    JDBC首先是把程序内部的UNICODE编码格式的数据转化为ISO-8859-1的格式,然后传递到数据库中,在数据库保存数据时,它默认即以ISO-8859-1保存,所以,这是为什么我们常常在数据库中读出的中文数据是乱码。

    几乎所有的WEB容器在其内部默认的字符编码格式都是以ISO-8859-1为默认值的,同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。 所以,虽然我们的Java源文件在出入口的地方指定了正确的编码方式,但其在容器内部运行时还是以ISO-8859-1来处理的。

    首先,经过上面的详细分析,我们可以清晰地看到,任何JAVA程序的生命期中,其编码转换的关键过程是在于:最初编译成class文件的转码和最终向用户输出的转码过程。     其次,我们必须了解JAVA在编译时支持的、常用的编码格式有以下几种:     *ISO-8859-1,8-bit, 同8859_1,ISO-8859-1,ISO_8859_1等编码     *Cp1252,美国英语编码,同ANSI标准编码     *UTF-8,同unicode编码     *GB2312,同gb2312-80,gb2312-1980等编码     *GBK , 同MS936,它是gb2312的扩充     及其它的编码,如韩文、日文、繁体中文等。同时,我们要注意这些编码间的兼容关体系如下:     unicode和UTF-8编码是一一对应的关系。GB2312可以认为是GBK的子集,即GBK编码是在gb2312上扩展来的。  同时,GBK编码包含了20902个汉字,编码范围为:0x8140-0xfefe,所有的字符可以一一对应到UNICODE2.0中来。     再次,对于放在操作系统中的.java源程序文件,在编译时,我们可以指定它内容的编码格式,具体来说用-encoding来指定。  注意:如果源程序中含有中文字符,而你用-encoding指定为其它的编码字符,显然是要出错的。  用-encoding指定源文件的编码方式为GBK或gb2312,无论我们在什么系统上编译含有中文字符的JAVA源程序都不会有问题,它都会正确地将中文转化为UNICODE存储在class文件中。     然后,我们必须清楚,几乎所有的WEB容器在其内部默认的字符编码格式都是以ISO-8859-1为默认值的,  同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。所以,虽然我们的Java源文件在出入口的地方指定了正确的编码方式,  但其在容器内部运行时还是以ISO-8859-1来处理的。     iso-8859-1是JAVA网络传输使用的标准字符集,而gb2312是标准中文字符集, 当你作出提交表单等需要网络传输的操作的时候,就需要把 iso-8859-1转换为gb2312字符集显示, 否则如果按浏览器的gb2312格式来解释iso-8859-1字符集的话,由于2者不兼容,所以会是乱码.      

  • 相关阅读:
    无题
    1.1tensorflow2.0 张量
    某某大肠_tidb_集群创建用户
    某某大肠_替换TiDB 3.0集群的tidb-server命令工具
    某某大肠_配置spark的thriftserver模块
    date_and_time
    SpringBoot整合Mybatis
    SpringBoot(3)Thymeleaf使用详解
    SpringBoot(2)实现CRUD
    SpringBoot(1)入门篇
  • 原文地址:https://www.cnblogs.com/changweihua/p/2245993.html
Copyright © 2011-2022 走看看