我的Servlet代码:
@WebServlet(description = "A simple", urlPatterns = { "/SimpleServlet" })
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter wr = response.getWriter();
String uname = request.getParameter("unam");
HttpSession ses = request.getSession();
if (uname != "" && uname != "null") {
ses.setAttribute("userses", ses);
}
wr.println("In RequestHttp method your name is "+ uname);
wr.println("In Sesssion method your name is " + (String)ses.getAttribute("userses"));
}
}
`Apache Tom Cat 7:0错误严重:servlet [org.sathish.brains.SimpleServlet]的Servlet.service()在路径[/ SimpleServletProject]的上下文中引发了异常java.lang.ClassCastException:org.apache.catalina.session .StandardSessionFacade不能在的javax.servlet在javax.servlet.http.HttpServlet.service(HttpServlet.java:621)铸造为java.lang.String在org.sathish.brains.SimpleServlet.doGet(SimpleServlet.java:37) . http.HttpServlet.service(HttpServlet.java:728)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)在org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrap) perValve.java:222)在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)在org.apache.catalina .core.StandardHostValve.invoke(StandardHostValve.java:171)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953 )在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)在org.apache.coyote.http11.AbstractHttp11Processor . 进程(AbstractHttp11Processor.java:1044)org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:607)at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecut或java.lang.Thread.run上的$ Worker.run(ThreadPoolExecutor.java:615)(Thread.java:744)
2 回答
看看这一行:
您将自己的会话作为属性传递 . 我想你要做的就是这样
你真的想把会话添加到会话中吗?我怀疑,你可能想要将属性设置为
uname
. 更加注意你的代码 .并删除转换为String,这是不必要的 .
在尝试编写servlet代码之前,请认真学习Java的基础知识 .