【问题标题】:i am getting error in my servlet我的 servlet 出现错误
【发布时间】:2017-11-27 05:27:06
【问题描述】:

我是 Java 初学者。我必须创建一个登录 servlet,我试图在 Tomcat 7 中运行它,但我的项目没有运行。请帮帮我。

我在 Tomcat 中的运行状态为假。我有两种类型的用户。一个是管理员,另一个是客户。当管理员的相关登录页面将显示并且客户将重定向到相关页面时,客户可以添加客户并在此客户可以向他们的客户发送批量电子邮件。 500封邮件间隔10秒怎么办。

我在 tomcat 日志文件中收到此错误。 (2017 年 11 月 27 日下午 5:05:19 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[localhost].StandardContext[/admin]] 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:898) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) 在 org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095) 在 org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java:166) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:722)))

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="komal@gmail.com";
        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>

【问题讨论】:

标签: javascript java jquery html


【解决方案1】:

您可以使用线程发送邮件,这也允许您设置时间。请参考多线程概念

【讨论】:

  • 好的,谢谢,但现在我无法在 tomcat 上运行我的项目,当我点击项目名称时它显示 404 错误。我不知道是什么错误。
  • 您在浏览器中获取您的索引页吗?
  • 这就是我没有得到索引页面的问题,它是 html 运行状态是假的
  • 在 web.xml 中添加欢迎文件。index.html
猜你喜欢
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多