//学习笔记, 可能有些地方理解有误, 会表达不清楚
v512_servlet+jsp
01 在修改完Cookie后,一定要加上response.addCookie(c);
Cookie中只能保存字母或数字信息;
02 req.getSession()与req.getSession(boolean create)
无参数的 == 有参数的参数为true时
有参数的,当参数为true时,如果没有Session对象就创建一个; 如果参数为false,则返回null;
03 会话的消失: 浏览器的关闭; 主动关闭; 会话超时; (????浏览器关闭)
04 如何应用Eclipse来开发Servlet????????
05 Tomcat的work目录保存了所有的jsp转换成Servlet的所有源文件和编译后的文件;
06 charset = gbk与pageEncoding = gbk效果一样;
07 <%@ include file="..." %>: 可以包含一个.html/.jsp等文件进来;
08 指令方式包含: <%@ include file="logn.jsp" %> 把它的内容包含进来;
动作方式包含: <jsp:include page="logn.jsp" > 调用方法实现;
<jsp:forward page ......
JSP脏话过滤器的实现
不管是JSP还是Servlet,其Filter过滤器都是一个东西。因为JSP的本质就是Servlet,只不过是被包装了一下,成了标准,让Web服务器都遵循这个标准来解析编译执行而已。
以下演示的就是在JSP中如何过滤脏话(Servlet的处理方式也差不多)。
一、过滤器类
package com.filter;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class WordsFilter implements Filter {
&nb ......
<body>
<%
Cookie[] cookies = request.getCookies() ;
Cookie cookie = null ;
if(cookies!=null){
cookie = cookies[0] ;
out.print("上次访问的ip是: " + request.getRemoteAddr() +"<br>") ; //得到客户端的ip
out.print("上次访问时间:" + cookie.getValue()) ;
cookie.setValue(new java.util.Date().toString()) ;
response.addCookie(cookie) ; //保存到客户端
cookie.setMaxAge(365 * 24 * 3600);
}
if(cookies==null){
cookie = new Cookie("AccessTime","") ;
cookie.setValue(new java.util.Date().toString()) ;
response.addCookie(cookie) ; //保存到客户端
cooki ......
乱码真是个令人讨厌的问题~
刚才终于把MySQL与JSP交互的乱码问题解决了。
办法如下:
1.在url处加上句子 "&useUnicode=true&characterEncoding=GBK" ;
2.我用Navicat Lite可视化工具创建MySQL数据库时,可选定数据库编码,也是 GBK ;
3.页面的编码可以选GBK以外的编码方式,如UTF-8。若操作页面的编码是UTF-8,则操作页面上要一句request.setCharacterEncoding("UTF-8");
或者大招,比如new String(name.getBytes("ISO-8859-1"),"UTF-8"); 我喜欢第一种。
附上例子一个:
//JSP插入数据到数据库------------------------------
前台显示页面----------------------------------------------------------------------
<div align="center">
<form action="data/InsertHandle.jsp" method="post">
图书名称:<input type="text" name="name" /><br>
出版社: <input type="text" name="publisher" /><br>
图书价格:<input type="text" name="price" /><br>
<input type="submi ......
乱码真是个令人讨厌的问题~
刚才终于把MySQL与JSP交互的乱码问题解决了。
办法如下:
1.在url处加上句子 "&useUnicode=true&characterEncoding=GBK" ;
2.我用Navicat Lite可视化工具创建MySQL数据库时,可选定数据库编码,也是 GBK ;
3.页面的编码可以选GBK以外的编码方式,如UTF-8。若操作页面的编码是UTF-8,则操作页面上要一句request.setCharacterEncoding("UTF-8");
或者大招,比如new String(name.getBytes("ISO-8859-1"),"UTF-8"); 我喜欢第一种。
附上例子一个:
//JSP插入数据到数据库------------------------------
前台显示页面----------------------------------------------------------------------
<div align="center">
<form action="data/InsertHandle.jsp" method="post">
图书名称:<input type="text" name="name" /><br>
出版社: <input type="text" name="publisher" /><br>
图书价格:<input type="text" name="price" /><br>
<input type="submi ......
通过jsp(SUN企业级应用的首选)程序获得database里的数据,然后通过程序控制其显示方式,这种方式明显缺点是如果数据量比较大的时候会有明显的性能下降
现将测试代码奉上,尽管我尽量限制代码的长度
先说下开发步骤;DB脚本,测试获得的数据是否正确的显示在一个table中,添加那些该显示那些不该显示,添加了首叶上叶下叶尾叶的功能,添加当前位置标签比如4/5,添加直接跳转到某页的功能,处理掉一些bug。。
1。先写数据库端测试脚本:
--删除表
drop table person;
--建立表
create table person (
id int auto_increment not null Prima(最完善的虚拟主机管理系统)ry key ,
uid varchar(32),
name varchar(32),
password varchar(20)
);
--插入数据?不支持中文,必须指定表内投影,插入多于30条记录用于测试分页
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name ......
已经做好的一个J2EE项目,想应用flex中的图表,所以现在的首要问题就是如何把flex嵌入到jsp中,按照网上介绍的解决方案做了个小测试:
<%@ taglib uri="FlexTagLib" prefix="mm"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jsp中嵌入flex</title>
</head>
<body>
<h2>jsp中嵌入flex代码</h2>
<mm:mxml>
<mx:Application width="300" height="200" xmlns:mx="http://www.macromedia.com/2003/mxml">
<mx:Text text="测试"/>
</mx:Application>
</mm:mxml ......
已经做好的一个J2EE项目,想应用flex中的图表,所以现在的首要问题就是如何把flex嵌入到jsp中,按照网上介绍的解决方案做了个小测试:
<%@ taglib uri="FlexTagLib" prefix="mm"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jsp中嵌入flex</title>
</head>
<body>
<h2>jsp中嵌入flex代码</h2>
<mm:mxml>
<mx:Application width="300" height="200" xmlns:mx="http://www.macromedia.com/2003/mxml">
<mx:Text text="测试"/>
</mx:Application>
</mm:mxml ......