Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HTTP Status 500 – Internal Server Error
- Type Exception Report
- Message Error instantiating servlet class [java.Registration]
- Description The server encountered an unexpected condition that prevented it from fulfilling the request.
- Exception
- javax.servlet.ServletException: Error instantiating servlet class [java.Registration]
- org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
- org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
- org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
- org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
- org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:412)
- org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
- org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1385)
- org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
- java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
- java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
- org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- java.lang.Thread.run(Thread.java:748)
- Root Cause
- java.lang.SecurityException: Prohibited package name: java
- java.lang.ClassLoader.preDefineClass(ClassLoader.java:662)
- java.lang.ClassLoader.defineClass(ClassLoader.java:761)
- java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
- org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2320)
- org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:816)
- org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1261)
- org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
- org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
- org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
- org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
- org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
- org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:412)
- org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
- org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1385)
- org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
- java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
- java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
- org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- java.lang.Thread.run(Thread.java:748)
- Note The full stack trace of the root cause is available in the server logs.
- package java;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- /**
- * Servlet implementation class Registration
- */
- @WebServlet({ "/registration" })
- public class Registration extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#HttpServlet()
- */
- public Registration() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- DBQuery DB = new DBQuery();
- String login = request.getParameter("login");
- String password = request.getParameter("password");
- String firstname = request.getParameter("firstname");
- String lastname = request.getParameter("lastname");
- HttpSession session=request.getSession();
- session.setAttribute("Login", login);
- session.setAttribute("FirstName", firstname);
- session.setAttribute("LastName", lastname);
- if(DB.unique(login)){
- DB.register(login, password, firstname, lastname);
- session.setAttribute("Logged-in", "true");
- response.sendRedirect("home.jsp");
- } else {
- session.setAttribute("ErrorMessage", "Username already in use!");
- response.sendRedirect("registration.jsp");
- }
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- doGet(request, response);
- } }
- package java;
- import java.sql.*;
- public class DBQuery {
- private String connectionURL = "jdbc:postgresql://localhost:5432/SitoDB";
- private Connection connection = null;
- private PreparedStatement statement = null;
- private ResultSet rs = null;
- private String query = "select * from users where login=?";
- private String insert = "insert into users(login, firstname, lastname, password) values (?,?,?,?)";
- public DBQuery() {
- // TODO Auto-generated constructor stub
- // get a DB connection
- try{
- Class.forName("com.postgresql.Driver").newInstance();
- connection = DriverManager.getConnection(connectionURL, "postgres", "12345");
- }
- catch(Exception e){
- e.printStackTrace();
- }
- }
- @Override
- protected void finalize() {
- try{
- connection.close();
- }
- catch(SQLException e){
- e.printStackTrace();
- }
- }
- public boolean validate(String login, String password){
- boolean result = false;
- try{
- statement = connection.prepareStatement(query);
- statement.setString(1, login);
- rs = statement.executeQuery();
- if (rs.next() && password.equals(rs.getString("password")))
- result = true;
- rs.close();
- statement.close();
- }
- catch(SQLException e){
- e.printStackTrace();
- }
- return result;
- }
- public boolean unique(String login){
- boolean result = false;
- try{
- statement = connection.prepareStatement(query);
- statement.setString(1, login);
- rs = statement.executeQuery();
- if (rs.next())
- result = false;
- else
- result = true;
- rs.close();
- statement.close();
- }
- catch(SQLException e){
- e.printStackTrace();
- }
- return result;
- }
- public void register(String login, String password, String firstname, String lastname){
- // should write data to DB table
- try{
- statement = connection.prepareStatement(insert);
- statement.setString(1, login);
- statement.setString(2, firstname);
- statement.setString(3, lastname);
- statement.setString(4, password);
- statement.executeUpdate();
- statement.close();
- }
- catch(SQLException e){
- e.printStackTrace();
- }
- }
- public String getFirstName(String login){
- String result="";
- try{
- statement = connection.prepareStatement(query);
- statement.setString(1, login);
- rs = statement.executeQuery();
- if (rs.next())
- result = rs.getString("firstname");
- else
- result = "";
- rs.close();
- statement.close();
- }
- catch(SQLException e){
- e.printStackTrace();
- }
- return result;
- }
- public String getLastName(String login){
- String result="";
- try{
- statement = connection.prepareStatement(query);
- statement.setString(1, login);
- rs = statement.executeQuery();
- if (rs.next())
- result = rs.getString("lastname");
- else
- result = "";
- rs.close();
- statement.close();
- }
- catch(SQLException e){
- e.printStackTrace();
- }
- return result;
- }
- }
Add Comment
Please, Sign In to add comment