Im currently writing a servlet to run this script a little better and get the character names of the offenders, having some issues with the script though:
I am currently receiving this error:
Code:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:599)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:314)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.ClassNotFoundException: org.apache.jsp.retreatcharnames_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:597)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:314)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs.
Its not indicating an issue so it could be linked to anywhere from the actual way the sql db is shown to the connection, ive restarted the java service and the server a few times, all other java services are working fine and even the class this is depending on is running fine. Can I also advise ive emptied the cache etc as well before this gets thrown at me.
Code is:
Code:
<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*"%>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@page import="protocol.*"%>
<%@page import="com.goldhuman.auth.*"%>
<%@page import="com.goldhuman.util.*"%>
<%@page import="org.apache.commons.logging.Log"%>
<%@page import="org.apache.commons.logging.LogFactory"%>
<%@page import="java.sql.*"%>
<%
String db_host = "localhost";
String db_port = "3306";
String db_user = "root";
String db_password = "";
String db_database = "pwlogs";
%>
<%
//
// Coded by [B]aSH from Vendetta Gaming Network.
//
int count = 0;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection("jdbc:mysql://" + db_host + ":" + db_port + "/" + db_database, db_user, db_password);
Statement statement = connection.createStatement();
ResultSet rst = statement.executeQuery("SELECT * FROM retreat");
RoleBean role = null;
String tempplayername = null;
int index = 0;
while (rst.next())
{
//Prepare Statement
PreparedStatement UpdateInfo = connection.prepareStatement("UPDATE retreat SET charname=? WHERE userid=?");
int roleid = rst.getInt("userid");
role = GameDB.get( roleid );
session.setAttribute( "gamedb_rolebean", role );
if (null == role){
}
else {
tempplayername = null;
tempplayername = StringEscapeUtils.escapeHtml(role.base.name.getString());
index = 0;
index = tempplayername.indexOf("'");
StringBuffer playername = new StringBuffer(tempplayername);
if(index > 0){
playername.replace(index, index + 1, "?");
}
}
UpdateInfo.setString(1, tempplayername);
UpdateInfo.setInt(2, roleid);
UpdateInfo.executeUpdate();
count++;
}
}
catch (Exception e)
{
out.println("<font color=red>Error Occured But System Added <b>" + count + "</b> Characters to SQL DB.");
}
%>
<%
if (count > 0) {
out.println("<font color=green><br>Completed! Successfully added: <b>" + count + "</b> Characters to SQL DB.<br><br>");
}
else
{
out.println("<br><font color=red>No Records available for update!");
}
%>
Take a look see if im missing anything, cheers.