weblogic环境下的验证码实现代码

3891681 2004-12-09 08:20:25
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 rand = request.getParameter("rand");
//rand = rand.substring(0,rand.indexOf("."));
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());

%>

JSP调用页面:

<%@ page language="java" contentType="text/html; charset=gb2312" %>
<!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=gb2312">
<title>无标题文档</title>
</head>

<body>
<form name="frmLogin" method=post action="login.jsp" onsubmit="if(submitClick()==false) return false;">
<table width="800" border="1" align="center">
<tr>
<td width="80"> </td>
<td width="438"> </td>
</tr>
<tr>
<td>登陆名:</td>
<td><INPUT class=unnamed1
id=CSDNUserLogin_tb_UserName style="WIDTH: 120px" maxLength=50
name=UserName></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>密码:</td>
<td><INPUT class=unnamed1
id=UserName style="WIDTH: 120px" maxLength=50
name=Password></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>验证码:</td>
<td><input name="rand" maxlength=4 size="10"><img border=0 src="image.jsp">
</td>
</tr>
<tr>
<td> </td>
<td><INPUT name=Submit type=submit value=进入 class="BUTTONINPUT">
  <INPUT name=Submit2 type=reset value=重写 class="BUTTONINPUT"></td>
</tr>
</table>
</form>
</body>
</html>


在tomcat5.0下面已经实现了彩色验证码,但是移到weblogic下,图片就显示不出来,该怎么设置才能出来???大家帮忙啊!!
...全文
367 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
3891681 2004-12-20
  • 打赏
  • 举报
回复
谢谢楼上
3891681 2004-12-20
  • 打赏
  • 举报
回复
?
demon007 2004-12-20
  • 打赏
  • 举报
回复
up
3891681 2004-12-17
  • 打赏
  • 举报
回复
网上搜索一下找到一下解决方法:
1.在启动Weblogic中要加上这个参数-Djava.awt.headless=true,这样才能显示出图片。
2.在catalina.sh中增加CATALINA_OPTS="$CATALINA_OPTS -Djava.awt.headless=true"

我在C:\bea\user_projects\domains\mydomain中的startWebLogic.sh文件中的倒数第二行里加入了-Djava.awt.headless=TRUE

${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Djava.awt.headless=TRUE -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server

可惜还是显示不出来,是不是加错了呀??
adventure007 2004-12-15
  • 打赏
  • 举报
回复
ding
3891681 2004-12-14
  • 打赏
  • 举报
回复
谢谢楼上几位!
fruitfull 2004-12-14
  • 打赏
  • 举报
回复
帮你顶。也学习学习!!!!
keithhe 2004-12-14
  • 打赏
  • 举报
回复
我也遇到过的。
chenyumao 2004-12-14
  • 打赏
  • 举报
回复
学习
3891681 2004-12-14
  • 打赏
  • 举报
回复
3891681 2004-12-13
  • 打赏
  • 举报
回复
3891681 2004-12-10
  • 打赏
  • 举报
回复
如何处理啊?
难道大家没碰到过这样的问题?
3891681 2004-12-10
  • 打赏
  • 举报
回复
Eclipse 2.1.3+MyEclipse2.6.4+Tomcat 5.0.27 可以正常显示图片
Eclipse 2.1.3+MyEclipse2.6.4+WebLogic 8.1 不能显示图片
xzg771218 2004-12-10
  • 打赏
  • 举报
回复
你没有讲清你的配置啊,情况多变啊
3891681 2004-12-09
  • 打赏
  • 举报
回复
饭前小定一下哈
umbrella1984 2004-12-09
  • 打赏
  • 举报
回复
对啊
gks_cn 2004-12-09
  • 打赏
  • 举报
回复
可能是因为没有awt包
内容概要:本文针对复杂威胁环境下多无人机的协同路径规划问题,提出一种基于多段杜宾斯(Dubins)路径的优化方法,旨在实现高动态、高风险场景中无人机群的安全、高效与协同飞行。研究充分考虑无人机的实际飞行约束,如最小转弯半径与连续曲率要求,采用杜宾斯曲线构建平滑且符合动力学特性的路径段,并结合优化算法对多机路径进行协同规划,有效规避静态威胁区域与动态障碍物,避免飞行器间发生碰撞。方案在Matlab平台上完成仿真验证,结果表明该方法能够在城市、军事等复杂环境实现多无人机系统的路径最短化、能耗最低化、安全性最大化与实时性兼顾的多目标优化,具有较强的工程应用潜力。; 适合人群:具备无人机控制、路径规划或智能优化算法基础的科研人员与工程技术人员,特别适用于自动化、航空航天、机器人及相关领域的研究生、高校教师及工业界研发人员。; 使用场景及目标:①应用于复杂城市、战场等高威胁环境下的多无人机协同任务,如侦察监视、应急救援、集群打击与编队巡航;②为解决多无人机系统中的动态避障、冲突消解、路径平滑与资源协同分配等关键技术问题提供理论依据与算法实现参考;③帮助研究人员深入理解Dubins路径在多智能体协同运动规划中的建模方式与优化机制,推动其在无人系统自主导航中的实际落地。; 阅读建议:建议读者结合提供的Matlab代码深入研读算法实现流程,重点分析威胁建模策略、多机冲突协调机制以及多目标代价函数的设计思路,可通过调整环境参数与优化权重在仿真中观察路径生成效果,从而加深对协同决策、运动学约束与全局优化之间耦合关系的理解。
内容概要:本文围绕“基于飞机配电优化负荷管理系统研究”展开,利用Matlab代码实现相关建模仿真与优化分析,旨在提升飞机配电系统的效率与可靠性。研究重点针对飞机电力系统中的动态负荷分配问题,构建了综合考虑电源容量限制、负载优先级划分、供电安全性、能量消耗最小化及系统冗余能力的多约束优化模型。通过引入先进智能优化算法对模型进行高效求解,实现了对机载关键与非关键设备的科学化、智能化供电管理。文中详细展示了算法迭代过程、收敛性分析及不同工况下的仿真结果,验证了该方法在降低整体能耗、均衡电力负载、增强系统稳定性以及应对突发用电需求等方面的优越性能,为现代民用与军用航空器电力系统的自主决策与健康管理提供了坚实的理论支撑与可行的技术路径。; 适合人群:具备电力系统、自动化或航空航天工程背景,熟练掌握Matlab编程语言,从事飞机电气系统设计、航空器能源管理、智能优化算法应用或相关领域研究的科研人员、工程师及研究生。; 使用场景及目标:①应用于新型飞机电气系统的设计与仿真验证,优化机载设备的供电策略与能量管理逻辑;②为复杂封闭电力系统(如舰船、空间站)中的负荷调度与应急电源管理提供可借鉴的解决方案,以提升系统整体能效、安全等级与运行韧性。; 阅读建议:建议结合提供的Matlab代码深入理解优化模型的数学建模过程、约束条件的程序化表达及智能算法的具体实现细节,重点关注目标函数的设计思路、权重系数的选取对优化结果的影响,并可尝试将模型拓展至多目标优化、实时滚动优化或考虑设备故障预测的主动负荷管理等更复杂的应用场景。

67,536

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧