Привет, я создаю веб-приложение с использованием сервлетов и jsp, я создал сервлет входа в систему, но когда я пытаюсь запустить его с помощью tomcat, он выбрасывает класс, который не найден. Исключение.Я пробовал максимальное количество решений по переполнению стека и другим источникам, но без помощи.Я предоставляю вам код для справки.
Login.java: -
package services;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 MyDao.Dao;
import bin.userbin;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
/**
* Servlet implementation class Login
*/
//@WebServlet("/Login")
public class Login extends HttpServlet {
private static final long serialVersionUID = 102831973239L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username = request.getParameter("username");
String password = request.getParameter("Paswword");
String stat = request.getContextPath();
System.out.println(stat+"context path");
String stat1 = request.getServletPath();
System.out.println(stat1+"servlet path");
String stat2 = request.getPathInfo();
System.out.println(stat2+" path info");
try {
userbin user = Dao.getname(username, password);
/*Cookie ck = new Cookie("cookie1",u.getF_name() );
response.addCookie(ck);*/
if(user !=null){
ServletContext context = getServletContext();
//ServletContext context = getServletContext();
/*String f = context.getInitParameter("F_name");
String f1 = context.getInitParameter("L_name");*/
PrintWriter p = response.getWriter();
p.println("<form action = 'logout'><input type = 'submit' name = 'logout' value = 'logout'></input></form>");
RequestDispatcher dispatch = request.getRequestDispatcher("fileRecords.html");
dispatch.include(request, response);
}
else{
System.out.println("invalid user! you need to sign in first");
RequestDispatcher rdispatch = request.getRequestDispatcher("Index.html");
rdispatch.include(request, response);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Web.xml: -
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>PC</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>services.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
<!-- <servlet>
<servlet-name>searchfile</servlet-name>
<servlet-class>services.SearchFile</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>searchfile</servlet-name>
<url-pattern>/searchfile</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>filerecords</servlet-name>
<servlet-class>services.FileRecords</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>filerecords</servlet-name>
<url-pattern>/filerecords</url-pattern>
</servlet-mapping> -->
</web-app>
index.html: -
<html lang="en">
<head>
<title>Login Form</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="limiter">
<div class="container-login100">
<div class="wrap-login100">
<div class="login100-pic js-tilt" data-tilt>
<img src="images/img-01.png" alt="IMG">
</div>
<form class="login100-form validate-form" action="Login" method="post">
<span class="login100-form-title">
Member Login
</span>
<div class="wrap-input100 validate-input" data-validate = "Valid email is required: ex@abc.xyz">
<input class="input100" type="text" name="username" placeholder="UserName">
<span class="focus-input100"></span>
<span class="symbol-input100">
<i class="fa fa-envelope" aria-hidden="true"></i>
</span>
</div>
<div class="wrap-input100 validate-input" data-validate = "Password is required">
<input class="input100" type="password" name="pass" placeholder="Password">
<span class="focus-input100"></span>
<span class="symbol-input100">
<i class="fa fa-lock" aria-hidden="true"></i>
</span>
</div>
<div class="container-login100-form-btn">
<!-- <button class="login100-form-btn" onclick="operation.html">
Login
</button> -->
<input type="submit" " value="Login" />
</div>
<!-- <div class="text-center p-t-12">
<span class="txt1">
Forgot
</span>
<a class="txt2" href="#">
Username / Password?
</a>
</div>
<div class="text-center p-t-136">
<a class="txt2" href="#">
Create your Account
<i class="fa fa-long-arrow-right m-l-5" aria-hidden="true"></i>
</a>
</div> -->
</form>
</div>
</div>
</div>
</body>
</html>
Ошибка, которую я получаю: -
java.lang.ClassNotFoundException: services.Login at org.apache.catalina.loader.WebappClassLoaderBase.loadClass (WebappClassLoaderBase.Java: 1309) в org.apache.catalina.loader.WebappClassLoaderBase.loadClass (WebappClassLoaderBase.java:1138) в org.apache.catalina.core.DefaultInstanceManager.loadClass (DefaultInstanceManager.java:54core) в org..DefaultInstanceManager.loadClassMaybePrivileged (DefaultInstanceManager.java:523) в org.apache.catalina.core.DefaultInstanceManager.newInstance (DefaultInstanceManager.java:150) в org.apache.catalina.cerj.Werv.org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:761) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:133) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) при org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:491) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:139) в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:92) в org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:668) в org.apache.catalndveore.вызвать (StandardEngineValve.java:87) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:343) в org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:40apache в или.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) в org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:764) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.dopointun.java: 1388) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.runTh Task:61) at java.lang.Thread.run (Неизвестный источник)
заранее спасибо ..