JSP实用篇

js

一,重定向页面

 1,response.sendRedirect("url");
 2,response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
   response.setHeader("Location",newLocation);

二,HTML Encoder和URL Encoder

 1,HTML Encoder自定义,原则:''不输出,'&'-"&",'<'-"<",'>'-"gt;",'"'-"""
 2,URLEncoder 在java.net包中有定义
  原型:public static String encode(String s)
  例如:URLEncoder.encode("http://wwww.aaa.com/sss.jsp?name=小鬼")

三,在JSP中读写文件

 1,用FileOutputStream初始化PrintWriter,然后用print或者println方法写文件
    PrintWriter pw=new PrintWriter(new FileOutputStream("file1.txt"));
    pw.println("Hello world!");
    pw.close();//若有错误thow IOException
   
    用FileWriter初始化PrintWriter,然后用print或者println方法写文件
    File f=new File("file1.txt");
    PrintWriter pw=new PrintWriter(new FileWriter(f));
    pw.print("Hello world!\n");
    pw.close();
 2,用InputStreamReader或者FileReader初始化BufferedReader,然后用readLine()方法读取文件
    BufferedReader br=new BufferedReader(new FileReader("file1.txt"));
    String rt=br.readLine();//结尾为null
    br.close();
 3,用FileWriter初始化PrintWriter,然后用pint或者println方法添加文件
    PrintWriter pw=new PrintWriter(new FileWriter("file1.txt"),true);
 4,import java.io.*;
    File f=new File(request.getRealPath(""),"file1.txt");
    boolean f.exists();
    f.delete();f.createNewFile();
   
    File d=new File(request.getRealPath(""));
    boolean d.exists();
    d.delete();d.mkdir();
   
    request.getRealPath("url");//虚拟目录映射为实际目录
    request.getRealPath("./");//网页所在的目录
    request.getRealPath("../");//网页所在目录的上一层目录
   
    File f=new File("path","file1.txt");
    f.getName();
    f.isFile();
    f.isDirectory();
    f.canRead();
    f.canWrite();
    f.isHidden();
    f.lastModified;
    f.createNewFile();
    f.length();
   
    File d=new File("path");
    File list[]=d.listFiles();//list是一个File数组
    for(int i=0;i<list.length;i++)out.println(list[i].getName());
   
    FileReader fr=new FileReader("path"+"\\file1.txt");
    if(fr.read()==-1)//空文件
    fr.close();
    fr.read(int i)//读取i个字符,-1如果不再有数据
    //用BufferedReader可以一次读取一行数据
    fr.skip(int i);//略过i个字符
   
   
    在引用parseInt等函数的时候,出错是NumberFormatException等
    Random获得随机数,
     Random rd=new Random((new Date()).getTime());
     int p=Math.abs(rd.nextInt())%s;//s为0到的范围

四,URL重组、表单隐藏域Cookie

 1,这些是用来弥补HTTP协议无状态特征的技术(Sessions技术)的一部分
 2,URL重组是用Get方法向服务器发送的信息“?param1=value1&param2=value2&...&paramn=valuen”
    如果服务器已经在超链接上面作了session标记,那么客户端通过这个走超链接发送请来时就会包含此标记
 3,form中的<input type=hidden name="key1" value="value1" />也可以像URL重组那样使用。
 4,Cookie对象
  Cookie c=new Cookie("key", "value");
  response.addCookie(c);
 
  Cookie[] c=request.getCookies();
  c.setMaxAge(int k);//k以秒为单位
  一般浏览器能放20个Cookie

五,session对象

 1,session对象不仅仅能放String数据,还能放复杂的对象。
 2,session.putValue("key1",Object1);
    Object o=session.getValue("key1");

六,处理JSP中的中文问题

 1,ASCII码
  8bit存储,0~31和127是控制字符,32~126是可见字符。
 2,GB2312
  两个8bit表示。前一个127~255,以区分ASCII码。
 3,Unicode
  可以将世界上几十种文字编码统一在同一种编码机制下。以16bit为单位存储。0x0000~0xffff
 4,ISO-8859-1 或称为Latin-1,8859-1。在Unicode所占的值域为0~255,低位为ASCII扩展到0~255,然后在高位补上0x00,组成16bit(此处不太懂)。
 5,字节和unicode Java内核是unicode,class文件也是。但是流却是采用的byte方式。char为unicode方式,byte是字节方式。转换函数:sun.io里面:
  public static ByteToCharConverter getDefault();//获取系统使用的编码方式。
  public static ByteToCharConverter getConverter(String encoding);
  ByteToCharConverter c=New ByteToCharConverter(["encoding"]);
  Byte[] s=c.convertAll(Char[] d);
  也可以 Char[] d=c.converterAll(Byte[] s);
 6,一些函数:
  Integer.toHexString(int i);
  String s;s.getBytes();
  String(byte[]);String(byte[],encoding);//constructors
 //关于Unicode编码打算单独写一篇

七,获取JVM属性值

 Properties props=System.getProperties();
 Enumeration enum=props.propertyNames(); //key枚举
 key=(String)enum.nextElement();
 String s=(String)props.getProperty(key);

八,JSP错误处理

 1,所有可被throw和catch的Exception对象都继承自Throwable。Exception应该被catch才对;Error对象也是继承自Throwable,只是不应该catch,而的结束程序。
 2,catch序列针对的Exception应该从低级到高级才对。
 3,转译错误和客户端端请求错误。jsp源程序错误、import路径不正确等会在生成Servlet Class文档时产生转译错误(500)。在执行Servlet Class时客户端请求错误会被catch。
 4,错误产生时,可以jsp:forward来控制,但更好是用errorPage来处理。也可以throw new Exception("errMsg")。

时间: 2024-11-18 02:47:58

JSP实用篇的相关文章

jsp实用户登录页面(如果用户输入用户名或密码三次错误则在规定时间内不能再登录,规定的时间放在txt文本中如【time=10】,用户名密码放在mysql数据库中

问题描述 jsp实用户登录页面(如果用户输入用户名或密码三次错误则在规定时间内不能再登录,规定的时间放在txt文本中如[time=10],用户名密码放在mysql数据库中) 解决方案 解决方案二:该回复于2011-03-21 13:28:54被版主删除解决方案三:该回复于2011-03-21 16:54:46被版主删除

推荐:JSP实用技巧大全

js|技巧     一,重定向页面1,response.sendRedirect("url");2,response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);response.setHeader("Location",newLocation); 二,HTML Encoder和URL Encoder 1,HTML Encoder自定义,原则:''不输出,'&'-"&",

range分区(实用篇)

上一篇blog对range分区做了个大概简介,接下来这篇对实际使用中的一些小细节进行分析总结.主要是新增和删除分区以及数据写入(null值的处理已在前面提到http://blog.sina.com.cn/s/blog_4d398f210100wrb8.html) ========================================================== 普通表: root@qw_test 01:49:44>show create table tmp_qw_test\G

Apache服务器之JSP概述篇

Apache [IT168 专稿]我们知道,JSP(JavaServer Pages)是一种动态网页技术标准.Servlet是Java技术对CGI编程的回答.

实用篇:用asp实现QQ在线查询

用下面的代码即可实现与QQ网站一样的QQ网友在线查询的方式. <script language="JavaScript"> <!-- function getFaceImg(QQcode) { var Re=new RegExp("^[1-9]{1}\\d+$","g"); if (!QQcode !Re.test(QQcode)) return; var URL="http://search.tencent.com/

“蚁群算法”实用篇:如何快速获得更多更好的外链

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 蚁群算法理论:生物学家发现,蚁群在外出寻找食物时,总能合理运用最短的时间,找到蚁穴与食物最短的路径.蚁群中的每一只蚂蚁都是一个单独的个体,他们在寻找食物时,能够在自己所走的线路上留下信息(一种化学成分的信息,可以帮助蚂蚁判断这条路走过了多少只蚂蚁),如果有2条路,都能够从蚁穴到达食物源,当蚂蚁来到"十字路口"他们会判断这2

Thinkphp3.2实用篇之计算型验证码示例

是不是觉得普通的验证码已经没办法满足,接下来介绍如何将tp现有的验证码改为计算型验证码: 首先找到:ThinkPHP\Library\Think\Verify.class.php 在其中加入以下代码: public function entry_add($id = '') { $this->length='3'; // 图片宽(px) $this->imageW || $this->imageW = $this->length*$this->fontSize*1.5 + $t

地方门户网站推广技巧实用篇

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 地方门户网站的兴起,给许多草根站长带来新的机遇和挑战.在新一轮的互联网竞争中,地方门户网站如何才能做出自己的特色,如何才能吸引更多的地方网民呢?这是每个地方门户网站站长都想知道的问题,在网上很容易就能找到许多地方门户推广技巧的文章,但许多站长都认为实用性不强,只是泛泛而谈,不切实际.于是今天就湛江今日同城的成功推广作为例子,跟大家分享一下地方

通过JSP的预编译消除性能瓶颈

js|编译|性能 欢迎来到"管理角"这个版,新一期的月刊专栏专注于 WebLogic 服务器的管理.配置.处理和开发方面. 开辟这个专栏的目的是为了向大家介绍在使用WebLogic Sever时,能普遍用到的非J2EE开发方面的问题.开发者和管理者同样会发现这个专栏非常有价值,因为这些文章既适用于开发又适用于最终产品的应用.此外,它很大程度上利用了来自于该领域和工程实验室的经验,它提供了对实际问题的详细解答. JSP预编译的必要性 本月的文章着眼于移除潜在的系统性能瓶颈,它通过解决一个