JSP原理笔记(三)

来源:互联网 发布:企业数据分析 编辑:程序博客网 时间:2024/05/29 13:21

   JSP中的隐式对象:即在写jsp页面是不用添加任何引用就可以默认使用的对象。

解决jsp页面的中文乱码问题,一种是页面显示本身乱码,这种情况只要在page指令中添加contentType并制定charset为gbk或gb2312或utf-8等可以解析中文的码型。

另一种是页面数据在数据传送后乱码。

一般有两种解决中文方案:1,在数据处理页面先改变编码,再接受数据:request.setCharacterEncoding("能够解析中文的编码类型");

注意:这里"能够解析中文的编码类型"必须与数据源页面一致,如果源页面的charset为“utf-8”,那么这里就应设置为utf-8,否则仍旧会乱码。

//页面默认的编码方式为ISO-8859-1或utf-8

2, 先解码再编码

步骤一:将接收到的数据用"ISO-8859-1"进行解码为字节流

步骤二:解码后采用数据源页面一致的编码new一个新字符串。

String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");

request.getHeader()可以获取请求头信息,其中的referer属性可以追踪参数页面来源,可以用用于防盗链等。

request作用域只在一次请求中有效。请求转发可以再次访问request作用域中的数据,但是请求重定向就不可以访问request作用域中的参数了。

 

 日历代码:

import java.util.*;public class CalendarTest{public static void main(String[] args){GregorianCalendar  d=new GregorianCalendar();int today=d.get(Calendar.DAY_OF_MONTH);int month=d.get(Calendar.MONTH);d.set(Calendar.DAY_OF_MONTH,1);int weekday=d.get(Calendar.DAY_OF_WEEK);System.out.println("Sun Mon Tue Wed Thu Fri Sat");for(int i=Calendar.SUNDAY;i<weekday;i++)System.out.println("    ");do{int day=d.get(Calendar.DAY_OF_MONTH);System.out.printf("%3d",day);if(day==today)System.out.print("*");elseSystem.out.print(" ");if(weekday==Calendar.SATURDAY)System.out.println();d.add(Calendar.DAY_OF_MONTH,1);weekday=d.get(Calendar.DAY_OF_WEEK);}while(d.get(Calendar.MONTH)==month);if (weekday!=Calendar.SUNDAY)System.out.println();}}


 TimerTest:

import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.Timer;public class TimerTest{public static void main(String[] args){ActionListener listener=new TimePrinter();Timer t=new Timer(3000,listener);t.start();JOptionPane.showMessageDialog(null,"Quit program?");System.exit(0);}}class TimePrinter implements ActionListener{public void actionPerformed(ActionEvent event){Date now=new Date();System.out.println("at the tone,the time is"+now);Toolkit.getDefaultToolkit().beep();}}


 

原创粉丝点击