电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> jsp>>jsp开发中常用的几个功能模块:

jsp开发中常用的几个功能模块

来源:网络 | 2007-3-25 | (有2934人读过)

<!-- File name:calendar.jsp -->   

<!-- 显示任意年、月的日历,可选择不同的年、月。   

author:wildfield -->   

<%@ page language="java" import="java.util.*" %>   

<%! String year;   

String month;   

%>   

<% month=request.getParameter("month");   

year =request.getParameter("year");   

%>   

<html>   

<head>   

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">   

<title>日</title>   

<script Language="javascript">   

<!--   

function changeMonth()   

{   

var mm="calendar.jsp?month="+document.sm.elements[0].selectedIndex+"&year="   

+<%=year%>;   

window.open(mm,"_self");   

}   

//--></script>   

</head>   

<%! String days[]; %>   

<%   

days=new String[42];   

for(int i=0;i<42;i++)   

{   

days="";   

}   

%>   

<%   

Calendar thisMonth=Calendar.getInstance();   

if(month!=null&&(!month.equals("null")))   

thisMonth.set(Calendar.MONTH, Integer.parseInt(month) );   

if(year!=null&&(!year.equals("null")))   

thisMonth.set(Calendar.YEAR, Integer.parseInt(year) );   

year=String.valueOf(thisMonth.get(Calendar.YEAR));   

month=String.valueOf(thisMonth.get(Calendar.MONTH));   

thisMonth.setFirstDayOfWeek(Calendar.SUNDAY);   

thisMonth.set(Calendar.DAY_OF_MONTH,1);   

int firstIndex=thisMonth.get(Calendar.DAY_OF_WEEK)-1;   

int maxIndex=thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);   

for(int i=0;i<maxIndex;i++)   

{   

days[firstIndex+i]=String.valueOf(i+1);   

}   

%>   

<body>   

<FORM name="sm" method="post" action="calendar.jsp">   

   <%=year%>年  <%=Integer.parseInt(month)+1%>月   

<table border="0" width="168" height="81">   

<div align=center>   

<tr>   

<th width="25" height="16" bgcolor="#FFFF00"><font color="red">日</font>   

</th>   

<th width="25" height="16" bgcolor="#FFFF00">一</th>   

<th width="25" height="16" bgcolor="#FFFF00">二</th>   

<th width="25" height="16" bgcolor="#FFFF00">三</th>   

<th width="25" height="16" bgcolor="#FFFF00">四</th>   

<th width="25" height="16" bgcolor="#FFFF00">五</th>   

<th width="25" height="16" bgcolor="#FFFF00"><font color="green">六</fon   

t></th>   

</tr>   

<% for(int j=0;j<6;j++) { %>   

<tr>   

<% for(int i=j*7;i<(j+1)*7;i++) { %>   

<td width="15%" height="16" bgcolor="#C0C0C0" valign="middle" align="ce   

nter">   

<a href="jump.jsp?year=<%=year%>&month=<%=Integer.parseInt(month)+1%>&d   

ate=<%=days[i]%>" target="main"><%=days[i]%></a></td>   

<% } %>   

</tr>   

<% } %>   

</div>   

</table>   

<table border="0" width="168" height="20">   

<tr>   

<td width=30%><select name="month" size="1" onchange="changeMonth()" >   

<option value="0">一月</option>   

<option value="1">二月</option>   

<option value="2">三月</option>   

<option value="3">四月</option>   

<option value="4">五月</option>   

<option value="5">六月</option>   

<option value="6">七月</option>   

<option value="7">八月</option>   

<option value="8">九月</option>   

<option value="9">十月</option>   

<option value="10">十一月</option>   

<option value="11">十二月</option>   

</select></td>   

<td width=28%><input type=text name="year" value=<%=year%> size=4 maxlength   

=4></td>   

<td>年</td>   

<td width=28%><input type=submit value="提交"></td>   

</tr>   

</table>   

</FORM>   

<script Language="javascript">   

<!--   

document.sm.month.options.selectedIndex=<%=month%>;   

//-->   

</script>   

</body>   

</html>   


  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; 
        if(bc>255) bc=255; 
        int r=fc+random.nextInt(bc-fc); 
        int g=fc+random.nextInt(bc-fc); 
        int b=fc+random.nextInt(bc-fc); 
        return new Color(r,g,b); 
        } 
%> 
<% 
//设置页面不缓存 
response.setHeader("Pragma","No-cache"); 
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires", 0); 

// 在内存中创建图象 
int width=60, height=20; 
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 

// 获取图形上下文 
Graphics g = image.getGraphics(); 

//生成随机类 
Random random = new Random(); 

// 设定背景色 
g.setColor(getRandColor(200,250)); 
g.fillRect(0, 0, width, height); 

//设定字体 
g.setFont(new Font("Times New Roman",Font.PLAIN,18)); 

//画边框 
//g.setColor(new Color()); 
//g.drawRect(0,0,width-1,height-1); 

// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到 
g.setColor(getRandColor(160,200)); 
for (int i=0;i<155;i++) 

 int x = random.nextInt(width); 
 int y = random.nextInt(height); 
        int xl = random.nextInt(12); 
        int yl = random.nextInt(12); 
 g.drawLine(x,y,x+xl,y+yl); 


// 取随机产生的认证码(4位数字) 
String sRand=""; 
for (int i=0;i<4;i++){ 
    String rand=String.valueOf(random.nextInt(10)); 
    sRand+=rand; 
    // 将认证码显示到图象中 
    g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt 

(110))); 
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成 
    g.drawString(rand,13*i+6,16); 


// 将认证码存入SESSION 
session.setAttribute("rand",sRand); 

// 图象生效 
g.dispose(); 

// 输出图象到页面 
ImageIO.write(image, "JPEG", response.getOutputStream()); 
%> 


使用验证码图片的文件a.jsp  

<%@ page contentType="text/html;charset=gb2312" %> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>认证码输入页面</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">  
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">  
<META HTTP-EQUIV="Expires" CONTENT="0">  
</head> 
<body> 
<form method=post action="check.jsp"> 
<table> 
<tr> 
<td align=left>系统产生的认证码:</td> 
<td><img border=0 src="image.jsp"></td> 
</tr> 
<tr> 
<td align=left>输入上面的认证码:</td> 
<td><input type=text name=rand maxlength=4 value=""></td> 
</tr> 
<tr> 
<td colspan=2 align=center><input type=submit value="提交检测"></td> 
</tr> 
</form> 
</body> 
</html> 


验证的页面check.jsp 

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"  

errorPage="" %> 
<html> 
<head> 
<title>认证码验证页面</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">  
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">  
<META HTTP-EQUIV="Expires" CONTENT="0">  
</head> 

<body> 
<%  
 String rand = (String)session.getAttribute("rand"); 
 String input = request.getParameter("rand"); 
%> 
系统产生的认证码为: <%= rand %><br> 
您输入的认证码为: <%= input %><br> 
<br> 
<% 
  if (rand.equals(input)) { 
%> 
<font color=green>输入相同,认证成功!</font> 
<% 
  } else { 
%> 
<font color=red>输入不同,认证失败!</font> 
<% 
  } 
%> 
</body> 
</html> 
jsp热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2021 电脑爱好者 版权所有 备案号:鲁ICP备09059398号