读书人

MD5 加密有关问题,在java文件中调用有

发布时间: 2012-02-06 15:52:44 作者: rapoo

MD5 加密问题,在java文件中调用有问题
MD5类没有问题,几经测试,可以在 test.jsp中正常使用,但是在newManage中调用却不行,提示:

java.lang.NullPointerException
at com.newManage.updateDatabase(newManage.java:49)
at org.apache.jsp.userManage.saveManage_jsp._jspService(saveManage_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)


test.jsp 代码如下:
<%@ page language= 'java ' contentType= "text/html;charset=GB2312 " %>
<%@ page import= 'java.util.* '%>
<%@ page import= 'java.sql.* '%>
<%@ page import= "com.* "%>
<jsp:useBean id= 'oMD5 ' scope= 'request ' class= 'com.MD5 '/>
<html>
<body>
<%
String password = "123456 ";
String pwdmd5 = oMD5.getMD5ofStr(password); //计算MD5的值
System.out.print(pwdmd5);
%>
</body>
</html>


newManage.java代码如下:

package com;
import java.sql.*;
import db.*;
public class newManage
{
//数据库链接类
ConnDB con= new ConnDB();
private String userid,password,qy,username,bm,job,type,info;

public void setUserid(String u){userid=u;}
public String getUserid(){return userid;}

public void setPassword(String p){password=p;}
public String getPassword(){return password;}

public void setQy(String q){qy=q;}
public String getQy(){return qy;}

public void setUsername(String n){username=n;}
public String getUsername(){return username;}

public void setBm(String b){bm=b;}


public String getBm(){return bm;}

public void setJob(String j){job=j;}
public String getJob(){return job;}

public void setType(String t){type=t;}
public String getType(){return type;}

/***********************************************************************
*函 数 名:updateDatabase
*功 能 描 述:添加管理员帐号
*返 回 值:info
***********************************************************************/
public String updateDatabase(){

//定义链接的conn对象
Connection conn=null;
MD5 oMD5=null;
int i;
try{
System.out.print(oMD5.getMD5ofStr( "283000 ")); //计算MD5的值
}
catch(Exception e) {
e.printStackTrace();
return "MD5加密失败! ";
}

try {
// 打开数据库连接
conn=con.mygetConn();

// 数据判断
if (userid!=null)
userid = new String(userid.getBytes( "ISO-8859-1 "), "GBK ");
else
userid= "未知 ";

if (qy!=null)
qy = new String(qy.getBytes( "ISO-8859-1 "), "GBK ");
else
qy= "未知 ";

if (job!=null)
job = new String(job.getBytes( "ISO-8859-1 "), "GBK ");
else
job= "未知 ";

if (bm!=null)
bm = new String(bm.getBytes( "ISO-8859-1 "), "GBK ");
else
bm= "未知 ";

if (username!=null)
username = new String(username.getBytes( "ISO-8859-1 "), "GBK ");
else
username= "未知 ";

if ( "1 ".equals(type)){}else{type= "0 ";}



//检查帐号是否重复
String clickSql= "Select userid From Manages Where userid=? ";
PreparedStatement perstmt=conn.prepareStatement(clickSql);;
perstmt.setString(1,userid);
ResultSet rs=perstmt.executeQuery();
if(rs.next()){
info= "帐号重复了! ";
System.out.print(info);
return "帐号重复了! ";
}else{
//添加管理员信息
String sql= "Insert Into Manages(userid,[password],qy,username,job,bm,type) values(?,?,?,?,?,?,?) ";
perstmt=conn.prepareStatement(sql);

perstmt.setString(1,userid);
perstmt.setString(2,password);
perstmt.setString(3,qy);
perstmt.setString(4,username);
perstmt.setString(5,job);
perstmt.setString(6,bm);
perstmt.setString(7,type);
i=perstmt.executeUpdate();
if (i==1){
System.out.print( "添加管理员信息成功! ");
return ( "成功添加管理员信息! ");
}else{
System.out.print( "添加管理员信息失败 ");
return ( "数据库操作失败,信息未添加! ");
}
}




}catch(Exception e) {
e.printStackTrace();
}

System.out.print( "系统操作失败,未知原因. ");
return "系统操作失败,未知原因. ";
}
}

[解决办法]
呵呵!


解决了就好!

读书人网 >Java Web开发

热点推荐