2017-11-27 6 views
-2

私はJavaの初心者です。私は、ログインサーブレットを作成する必要があり、私はTomcat 7で実行しようとしているが、私のプロジェクトは実行されていません。私を助けてください。サーブレットにエラーが発生しています

Tomcatで実行中のステータスがfalseになっています。私は2種類のユーザーを持っています。 1つは管理者で、もう1つは顧客です。管理者の関連ログインページが表示され、顧客が関連ページにリダイレクトされると、顧客はクライアントを追加でき、この顧客には大量のメールをクライアントに送信できます。これを行う方法は10秒のギャップを持つ500電子メール。

tomcatログファイルにこのエラーが表示されています。 (org.apache.catalina.startup.HostConfig deployDirectory ):WebアプリケーションディレクトリC:\ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ webapps \ adminを展開する際にエラーが発生しました。 java.lang .IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:コンポーネント[StandardEngine [Catalina] .StandardHost [標準ホスト]。スタンダードコンテキスト[/ admin]]の開始に失敗しました。 at org.apache.catalina.core.ContainerBase。 addChildInternal(ContainerBase.java:898) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095) at org.apache.catalina.s tartup.HostConfig $ DeployDirectory.run(HostConfig.java:1617) のjava.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) のjava.util.concurrent.FutureTask $ Sync.innerRun(FutureTask。 java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ java.lang.Thread.runでWorker.run(ThreadPoolExecutor.java:615) (Thread.java:722)))

here is a screen shot of tomcat

index.html 

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="bootstrap/bootstrap.min.css"> 
    <link rel="stylesheet" type="text/css" href="css/cust-login.css"> 
     <link rel="stylesheet" type="text/css" href="css/pure-min.css"> 
     <script src="bootstrap/jquery.min.js"></script> 
</head> 
<body> 
<div class="header-page"> 

    </div> 
    <div class="header-two" >  
    </div> 

<br> 
<br> 
<div class="cust-login-form"> 
     <div class="cust-login-form-align"> 
     <form class="pure-form pure-form-stacked" method="post" action="login"> 
    <fieldset> 
     <legend><img src="image/LOGO.png" height="50px">Custmer Login Form</legend> 

     <label for="email">Email</label> 
     <input id="email" type="email" placeholder="Email" name="email"> 
     <span class="pure-form-message">This is a required field.</span> 

     <label for="password">Password</label> 
     <input id="password" type="password" placeholder="Password" name="pass"> 



     <label for="remember" class="pure-checkbox"> 
      <input id="remember" type="checkbox"> Remember me 
     </label> 

     <button type="submit" class="pure-button pure-button-primary">Sign in</button> 
    </fieldset> 
</form> 
</div> 
    </div> 
</body> 
</html> 


login.java 

import javax.servlet.*; 
import java.io.*; 
import javax.servlet.http.*; 
import java.sql.*; 
public class login extends HttpServlet 
{ 
    public void doPost(HttpServletRequest req, 
     HttpServletResponse res) 
     throws ServletException, 
     IOException 
    { 
     res.setContentType("text/html"); 
     PrintWriter pw=res.getWriter(); 
     String u=req.getParameter("email"); 
     String p=req.getParameter("pass"); 
     String userad="[email protected]"; 
     String passwrd="admin"; 
     RequestDispatcher rd; 
     try 
     { 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/adminpanel","root","root"); 
      PreparedStatement stmt=con.prepareStatement("select * from custdetails where email=? AND password=?"); 
      stmt.setString(1,u); 
      stmt.setString(2,p); 
      ResultSet rs=stmt.executeQuery(); 
      while(rs.next()){ 
     if(userad.equals(u) && passwrd.equals(p)) 
     { 
      HttpSession session=req.getSession(); 
      System.out.print(session.isNew());//true 
      rd=req.getRequestDispatcher("/adminpanel.html"); 
      rd.forward(req,res); 
      return; 
     } 
     else if (u.equals(rs.getString(6)) && p.equals(rs.getString(5))) { 
      HttpSession session=req.getSession(); 
      System.out.print(session.isNew());//true 
      rd=req.getRequestDispatcher("/addcustomer.html"); 
      rd.forward(req,res); 
      return; 
     } 
     else{ 
     PrintWriter out=res.getWriter(); 
     out.print("Invalid user or password"); 
     rd=req.getRequestDispatcher("/index.html"); 
     rd.include(req,res); 
      } 
     } 
    } 
     catch(Exception e) 
      { 
       out.println(e); 
      } 
     } 
} 




regcustclnt.java 

import javax.servlet.ServletException; 
import javax.servlet.http.*; 
import java.io.*; 
import java.sql.*; 
import javax.servlet.http.HttpServlet; 
//import javax.servlet.http.HttpRequest; 
//import javax.servlet.http.HttpResponse; 

public class regcustclnt extends HttpServlet{ 

    public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException, 
     IOException{ 
     res.setContentType("text/html"); 
     PrintWriter out=res.getWriter(); 
     String name=req.getParameter("name"); 
     String contact=req.getParameter("contact"); 
     String email=req.getParameter("email"); 
     String address=req.getParameter("address"); 
     String profession=req.getParameter("profession"); 
     Connection con=null; 
     Statement stmt=null; 
     try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      }catch(ClassNotFoundException ex){ 
       ex.printStackTrace(); 
      } 
      try{ 
       con=DriverManager.getConnection("jdbc:mysql://localhost:3306/adminpanel","root","root"); 
       stmt=con.createStatement(); 
       String query="insert into custClientdetail values('"+name+"','"+contact+"','"+email+"','"+address+"','"+profession+"')"; 
       stmt.execute(query); 
       out.print("<h1>you have added a new customer..!"); 
      } 
      catch(SQLException ex){ 
       out.print("error in inserting data"); 
       ex.printStackTrace(); 
      } 

      finally{ 

       try{ 
        stmt.close(); 
       } 
       catch(SQLException ex){} 

       try{ 
        con.close(); 
       } 
       catch(SQLException ex){} 
      } 




    } 
} 



logout.java 

import javax.servlet.*; 
import java.io.*; 
import javax.servlet.http.*; 
public class logout extends HttpServlet 
{ 
    public void service(HttpServletRequest req, 
     HttpServletResponse res) 
     throws ServletException, 
     IOException 
    { 
     HttpSession session=req.getSession(false); 
     session.invalidate(); 
     RequestDispatcher rd=req.getRequestDispatcher("/index.html"); 
     rd.include(req,res); 
    } 
} 


web.xml 

    enter code here 

<web-app> 
    <servlet> 
     <servlet-name>login</servlet-name> 
     <servlet-class>login</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>login</servlet-name> 
     <url-pattern>/login</url-pattern> 
    </servlet-mapping> 
    <servlet> 
     <servlet-name>regcustclnt</servlet-name> 
     <servlet-class>regcustclnt</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>regcustclnt</servlet-name> 
     <url-pattern>/regcustclnt</url-pattern> 
    </servlet-mapping> 
    <servlet> 
     <servlet-name>logout</servlet-name> 
     <servlet-class>logout</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>logout</servlet-name> 
     <url-pattern>/logout</url-pattern> 
    </servlet-mapping> 
</web-app> 


adminpanl.html 


<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="bootstrap/bootstrap.min.css"> 
    <link rel="stylesheet" type="text/css" href="css/style.css"> 
     <link rel="stylesheet" type="text/css" href="css/pure-min.css"> 
     <script src="bootstrap/jquery.min.js"></script> 
     <script type="text/javascript" src="js/form.js"></script> 
</head> 
<body> 

    <div class="pag-header"> 
     <h3><img src="image/LOGO.png" height="50px">ADMINSTRATION</h3> 
    </div> 

<div class="next-page-header"> 
     <div class="nav-menu"> 

      <span class="menu"><a href="admin.html">Add Customer |&nbsp;&nbsp;</a> 
      <a href="about us">View Customer |&nbsp;&nbsp;</a> 
      <a href="gallery">gallery |&nbsp;&nbsp;</a> 
      <a href="portfolio">portfolio |&nbsp;&nbsp;</a> 
      <a href="contact">contact</a> 

      </span> 
    <a href="logout" style="float:right">LOGOUT</a> 


    </div> 

    </div> 
    <div class="form-header"> 
    <div class="cust-form"> 
     <h4>Add_Customer<button type="button" id="add" style="float:right;height:30%" class="btn-style">ADD</button></h4> 

    </div> 


    </div> 

<div class="main-form-width" id="main-form" style="display:none"> 
    <div class="main-form"> 
    <form method="post" acttion="insrt" class="pure-form pure-form-aligned"> 
    <fieldset> 
     <div class="pure-control-group"> 
      <label for="name">Name</label> 
      <input id="name" type="text" placeholder="Name" name="name"> 
      <span class="pure-form-message-inline">This is a required field.</span> 
     </div> 
     <div class="pure-control-group"> 
      <label for="contact">Contact</label> 
      <input id="contact" type="text" placeholder="Contact" name="contact"> 
      <span class="pure-form-message-inline">This is a required field.</span> 
     </div> 
     <div class="pure-control-group"> 
      <label for="uname">Username</label> 
      <input id="uname" type="text" placeholder="Username" name="username"> 
      <span class="pure-form-message-inline">This is a required field.</span> 
     </div> 

     <div class="pure-control-group"> 
      <label for="password">Password</label> 
      <input id="password" type="password" placeholder="Password" name="pass" > 
     </div> 

     <div class="pure-control-group"> 
      <label for="email">Email Address</label> 
      <input id="email" type="email" placeholder="Email Address" name="email"> 
     </div> 

     <div class="pure-control-group"> 
      <label for="foo">Address</label> 
      <textarea id="foo" type="text" placeholder="Address" name="address"></textarea> 
     </div> 
     <div class="pure-control-group"> 
      <label for="bname">BusinessName</label> 
      <input id="bname" type="text" placeholder="BusinessName" name="bsname"> 
     </div> 

      <div class="pure-control-group"> 
      <label for="logo">Logo</label> 
      <input id="logo" type="file" placeholder="upload file" name="upfile"> 
     </div> 
     <!-- <div class="pure-controls"> 
      <label for="cb" class="pure-checkbox"> 
       <input id="cb" type="checkbox"> I've read the terms and conditions 
      </label>--> 

      <button type="submit" class="pure-button pure-button-primary" style="margin-left:10%">Submit</button> 
     </div> 
    </fieldset> 
</form> 
    </div> 

</div> 
</body> 
</html> 
+0

https://www.wikihow.com/Ask-a-Question-on-Stack-Overflow – Shadow

+0

プロジェクトを作成し、コードをインストールし、実行し、バグを発見し、あなたのためにそれを修正する? – gurvinder372

+0

問題を示す[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve)を作成してください。 –

答えて

0

スレッドを使用してメールを送信することもできます。スレッドを使用すると、時刻を設定することもできます。 multiThreadingの概念を参照してください

+0

okoyouしかし、今のところ、プロジェクト名をクリックするとtomcatでプロジェクトを実行できません。404エラーが表示されます。エラーは何か分かりません。 – Komal

+0

ブラウザでインデックスページを取得していますか? – Dhivya

+0

thats問題は、私はhtmlのステータスを実行しているインデックスページを取得していない虚偽です私はこれをクリックするとadmincontrolという名前のフォルダをチェックすることができるスクリーンショットを追加しました404エラー – Komal

関連する問題