Java ServletContextListener错误
嗨,我有以下servletcontextlistener的代码Java ServletContextListener错误,java,servlets,jdbc,Java,Servlets,Jdbc,嗨,我有以下servletcontextlistener的代码 import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.http.HttpServlet; public class ContextListener extends HttpServlet im
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
public class ContextListener extends HttpServlet implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext context=sce.getServletContext();
String dburl=context.getInitParameter("dbUrl");
String dbusername=context.getInitParameter("dbUserName");
String dbpassword=context.getInitParameter("dbPassword");
DBConnector.createConnection(dburl, dbusername, dbpassword);
System.out.println("Connection Establised.........");
}
public void contextDestroyed(ServletContextEvent sce) {
DBConnector.closeConnection();
}
}
和DBConnector类,如下所示
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnector {
private static Connection con;
public static void createConnection(String dbUrl,String dbusername,String dbPassword){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection(dbUrl, dbusername, dbPassword);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static Connection getConnection(){
return con;
}
public static void closeConnection(){
if(con!=null){
try {
con.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
在web.xml中,我声明如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>dbUrl</param-name>
<param-value>jdbc:oracle:thin:@localhost:1521:XE</param-value>
</context-param>
<context-param>
<param-name>dbUserName</param-name>
<param-value>dbUserName</param-value>
</context-param>
<context-param>
<param-name>dbPassword</param-name>
<param-value>dbPassword</param-value>
</context-param>
<listener>
<listener-class>Topical.ContextListener</listener-class>
</listener>
<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>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
dbUrl
jdbc:oracle:thin:@localhost:1521:XE
数据库用户名
数据库用户名
数据库密码
数据库密码
Topical.ContextListener
登录
登录
登录
/登录
30
在这里,当我试图运行ContextListener.java时,抛出了一个错误:“类‘Context listener’既没有主方法,也没有在web.xml中指定servlet”
我怎样才能解决这个问题
谢谢如何运行servlet而不在web.xml中声明为servlet?拆分servlet和上下文侦听器,并在web.xml.Hi Ravindra中声明两者。你能编辑我的代码吗?我是这个servlet概念的新手,我通常用JSP制作所有网页,但我知道mvc会是一个更好的主意,然后转向这个。谢谢你可以谷歌的例子。网络上有很多例子。-下面是一个用于servlet的示例