在Web服务器端编程中,会话状态管理是一个经常必须考虑的重要问题。本文分析JSP/Servlet的会话管理机制及其所面临的问题,然后提出了一种改进的会话管理方法。
一、Servlet的会话管理机制
根据设计,HTTP是一种无状态的协议。它意味着Web应用并不了解有关同一用户以前请求的信息。维持会话状态信息的方法之一是使用Servlet或者JSP容器提供的会话跟踪功能。Servlet API规范定义了一个简单的HttpSession接口,通过它我们可以方便地实现会话跟踪。
HttpSession接口提供了存储和返回标准会话属性的方法。标准会话属性如会话标识符、应用数据等,都以“名字-值”对的形式保存。简而言之,HttpSession接...
在开发有关日历的应用程序时,不规则的每月日期数、每周天数和周末的计算一直是个很费脑筋的问题。结果,日期和时间的编程经常令程序员新手畏缩不前。本文将演示在JSP应用程序中日期的用法,为读者完成某些常见任务提供方便的参考。
目的
示例应用程序的目的是:
通过HTML表单把日期参数提交某个JSP页来处理。
接收日期参数并创建Calendar对象。
采用Calendar对象找出提交的日期是一周的第几天以及选中月份里有多少工作日。
用用户易于阅读的显示格式对日期格式化。
环境
示例程序代码在Java Web服务器上接受测试,该服务器配置了JDK 1.31。示例写得很标准,在Tomcat或者其他JSP Web服务器(JDK...
一、如何去处理Clob、BLOB的大类型
CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据:
getCharacterStream() 方法返回按unicode编码的输入流(java.io.Reader对象)
getAsciiStream() 方法返回按ASCII编码的输入流(java.io.InputStream对象)
所以如果你的数据库中有可能存储中文字符的话,就要使用前一个方法.
现在举一个实际的例子,让我一步步学习如何使用CLOB.
首先,创建一个含CLOB字段的表:
create table test (id INTEGER, content clob);
接下来, 我们通过JSP往这张表里插入一条记录,然...
一、概述
在Web应用中,有些报表的生成可能需要数据库花很长时间才能计算出来;有的网站提供天气信息,它需要访问远程服务器进行SOAP调用才能得到温度信息。所有这一切都属于复杂信息的例子。在Web页面中加入过多的复杂信息可能导致Web 服务器、数据库服务器负荷过重。JSP代码块缓冲为开发者带来了随意地增加各种复杂信息的自由。
JSP能够在标记库内封装和运行复杂的Java代码,它使得JSP页面文件更容易维护,使得非专业开发人员使用JSP页面文件更加方便。现在已经有许多标记库,它们或者是商业产品,或者是源代码开放产品。但这些产品中的大多数都只是用标记库的形式实现原本可以用一个简单的Java Scriptlet实现的功...
一、 什么是JSP JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为http://www.javasoft.com/products/jsp。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无...
本文实现的是用jsp来上传图片,同时过滤图片格式和大小,来看下面详细的代码介绍吧!
package myBean;
import java.io.*;
public class uploadpic {
String picPath;//图片路径 (如:F:picturea.gif)
public String pictype[];//设置图片的后缀名
FileInputStream in;
int piclength;//设置图片的最大kb
public void se...
在进行jsp和servlet的开发时,很有可能遇到出现了中文乱码问题,现在我们来看看笔者是如何解决的,他也是用了许多方法,发现还是解决不了。最后用了过滤器,才算终结。
此方法总结如下:在jsp页面中使用<%@ page pageEncoding="GB2312"%> ,这里的pageEncoding是GB2312,那么我们在过滤器web.xml中所使用的<param-value>GB2312</param-value>也为GB2312。总之一条:就是上述两者一致即可,比如同为UTF-8
将过滤器的java代码和web.xml的配置写
//--------java代码部分:CharsetFilter .java
package com;
import java.io.IOException;
...
JSP彩色验证码生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变)
产生验证码图片的文件-----image.jsp
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//给定范围获得随机颜色
Random random = new Random();
if(fc>255) fc=255;
&nbs...
1. 在Word或Excel中制作报表的样式。
Excel的行高和列宽单位无法用mm或cm表示 需要计算。在1024*768下,1CM约为38像素。
以此为基准,可计算并控制报表的行列位置。
2. 在Word中设置“表格——标题行重复”。
在Excel中设置“文件——页面设置——工作表——打印标题”。
3. 另存为网页,改后缀名“htm”为“jsp”。
4. Word报表文件头为:
<%@page contentType="application/msword;charset=GBK" language="java"%>
Excel报表文件头为:
<% @page contentType="application/vnd.ms-excel;...
package test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.OutputStream; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ImageGenerator extends HttpServlet ...{ /** *//** * */ private static&...
名称:jsp+ajax技术实现行政区划代码三级关联下拉框代码
package untitled1;
import java.io.*;
import java.io.*;
import java.util.*;
import java.sql.*;
public class DatabaseOp {
//声明数据库jdbc驱动变量
static String jdbcClass = "oracle.jdbc.driver.OracleDriver";
//声明数据库url变量
static String jdbcURL = "jdbc:oracle:thin:@127.0.0.1:1521:databasename";//注意...
1 javascript ,设置一个变量,只允许提交一次。
<script language="javascript">
var checkSubmitFlg = false;
function checkSubmit() {
if (checkSubmitFlg == true) {
return false;
}
checkSubmitFlg = true;
return true;
}
document.ondblclick = function docondblclick() {
window.event.returnValue ...
标签库Taglib
标签被定义和分布在一个称为标签库的结构中,一个标签库是由元信息和类组成的集合:1.标签处理器:实现定制标签功能的Java类。2.标签附加信息(TEI):向JSP容器提供边辑以确认标签属性和创建变量的类。3.标签库描述器(TLD):描述单个标签和整个标签库属性的XML文档。
标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方。标签库描述器可在URL指定的符意位置。JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库。TLD必须是/META-INF目录中名为taglib.tld的文件,JAR文件则复制到/WEB-INF/lib目录下。
一、标签实现
1.开发步骤a.定义标签的名字、...
/**这是管理user信息的类
文件名为onLineUser.java
*/
import javax.servlet.http.*;
import javax.servlet.*;
import java.util.*;
public class onLineUser implements HttpSessionBindingListener {
public onLineUser(){
}
private Vector users=new Vector();
public int getCount(){
users.trimToSize();
return users.capacity();
}
public boolean existUser(String userName){
users.trimToSize(); ...
这个应用主要用在springside框架中的ajax用户注册验证,我这个菜鸟做的大家试试参考!!1页面jsp 的script代码: <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); &n...
1. 在Word或Excel中制作报表的样式。
Excel的行高和列宽单位无法用mm或cm表示。
需要计算。在1024*768下,1CM约为38像素。
以此为基准,可计算并控制报表的行列位置。
2. 在Word中设置“表格——标题行重复”。
在Excel中设置“文件——页面设置——工作表——打印标题”。
3. 另存为网页,改后缀名“htm”为“jsp”。
4. Word报表文件头为:
<%@page contentType="application/msword;charset=GBK" language="java"%>
Excel报表文件头为:
<% @page contentType="application/vnd.ms-ex...