java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to javax.servlet.GenericServlet
at servlet.EmailUserServlet.doPost(EmailUserServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
。分界线、。
<!--邮箱登录 -->
<div id="emil" >
<p>
<label >邮箱:</label>
<input id="txtEmail" type="text" class="txt"/>
</p>
<p>
<label>密码:</label>
<input id="txtPwd" type="password" class="txt"/>
</p>
<p>
<input type = "button" value = "注册" style="width:80px;font-size: 14px;" onclick="emillogin()">
</p>
<a href="index.jsp" id="back">返回首页</a>
</p>
</div> 。
function emillogin(){
document.pay.action="EmailUserServlet";
document.pay.submit();
}
。
package servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;import javax.servlet.GenericServlet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import jdbc.DBOper;/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/EmailUserServlet")
public class EmailUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public EmailUserServlet() {
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
doPost(request,response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset = UTF-8");
PrintWriter out = response.getWriter();
String email = request.getParameter("email");
String password = request.getParameter("password");
ServletContext ctx = ((GenericServlet) request).getServletContext();
String server = ctx.getInitParameter("server");
String dbname = ctx.getInitParameter("dbname");
String dbuser = ctx.getInitParameter("dbuser");
String dbpwd = ctx.getInitParameter("dbpwd");
DBOper db = new DBOper();
db.getConn(server, dbname, dbuser, dbpwd);
String sql = "SELECT email,password FROM emailuser WHERE email = ? AND password = ?";
ResultSet rs = db.executeQuery(sql,new String[]{email,password});
try {
if(rs != null && rs.next()){
HttpSession session = request.getSession();
session.setAttribute("email",email);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String logtime = sdf.format(new Date());
session.setAttribute("logtime",logtime);
Cookie cookie = new Cookie("email",email);
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
RequestDispatcher dispatcher = request.getRequestDispatcher("MainServlet");
dispatcher.forward(request,response);
}else{
out.print("登录失败");
out.print("<br><a href = 'login.jsp'>重新登陆</a>");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void init()throws ServletException { }}
at servlet.EmailUserServlet.doPost(EmailUserServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
。分界线、。
<!--邮箱登录 -->
<div id="emil" >
<p>
<label >邮箱:</label>
<input id="txtEmail" type="text" class="txt"/>
</p>
<p>
<label>密码:</label>
<input id="txtPwd" type="password" class="txt"/>
</p>
<p>
<input type = "button" value = "注册" style="width:80px;font-size: 14px;" onclick="emillogin()">
</p>
<a href="index.jsp" id="back">返回首页</a>
</p>
</div> 。
function emillogin(){
document.pay.action="EmailUserServlet";
document.pay.submit();
}
。
package servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;import javax.servlet.GenericServlet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import jdbc.DBOper;/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/EmailUserServlet")
public class EmailUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public EmailUserServlet() {
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
doPost(request,response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset = UTF-8");
PrintWriter out = response.getWriter();
String email = request.getParameter("email");
String password = request.getParameter("password");
ServletContext ctx = ((GenericServlet) request).getServletContext();
String server = ctx.getInitParameter("server");
String dbname = ctx.getInitParameter("dbname");
String dbuser = ctx.getInitParameter("dbuser");
String dbpwd = ctx.getInitParameter("dbpwd");
DBOper db = new DBOper();
db.getConn(server, dbname, dbuser, dbpwd);
String sql = "SELECT email,password FROM emailuser WHERE email = ? AND password = ?";
ResultSet rs = db.executeQuery(sql,new String[]{email,password});
try {
if(rs != null && rs.next()){
HttpSession session = request.getSession();
session.setAttribute("email",email);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String logtime = sdf.format(new Date());
session.setAttribute("logtime",logtime);
Cookie cookie = new Cookie("email",email);
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
RequestDispatcher dispatcher = request.getRequestDispatcher("MainServlet");
dispatcher.forward(request,response);
}else{
out.print("登录失败");
out.print("<br><a href = 'login.jsp'>重新登陆</a>");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void init()throws ServletException { }}
解决方案 »
- hibernate 怪异问题 求各位达人,急。。在线等
- jsp页面an attribute name is preceded by whitespace的问题,谢谢各位!急!
- 在jsp中如何比较两个时间的大小
- 怎样用程序下载javascript动态网页?
- TOMCAT启动异常和失败
- Myeclipse jsp design 编写JSP 文件 报当前浏览平台错误 在线等
- options的回掉函数参数怎么传递?
- 不通过dsn怎样连接数据库呢?
- 我写了个稍微复杂的表查询,不知道是不是写错了,请大神看看
- 求一份Java SpringMVC框架的源码!
- java入门萌新求大佬帮助
- zookeeper和dubbo还是spring cloud?(秋招找工作的小白想问应该学哪个)
通过this获取servletConfig,然后通过servletConfig获取初始化的参数