package ch16;import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;public class LoginServlet extends HttpServlet{
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();

out.println("<html>");
out.println("<head>");
out.println("<title>jdjjjjjlll</title>");
out.println("</head>");
out.println("<body>");

//获取会话对象
HttpSession session=request.getSession();
//从会话对象中读取数据
Boolean isLogin=(Boolean)session.getAttribute("isLogin");

if(isLogin==null){
isLogin=Boolean.FALSE;
}
String user=request.getParameter("user");
String password=request.getParameter("pass");

if(isLogin.booleanValue()){
//从会话对象中读取数据
user=(String)session.getAttribute("user");
Date loginTime=new Date(session.getCreationTime());

out.println("<h2>welcome you,"+user+"!</h2>");
out.println("<h2>your logging time:"+loginTime+"!</h2>");
}else if((user!=null)&&(password!=null)){
//在会话对象中保存数据
session.setAttribute("user",user);
session.setAttribute("isLogin",Boolean.TRUE);
Date loginTime=new Date(session.getCreationTime());

out.println("<h2>welcome you baby,"+user+"!</h2>");
out.println("<h2>your logging time is:"+loginTime+"!</h2>");

}else{
out.println("<h2>please input your personal information</h2>");
out.println("<form method=\"post\" action=\"login\">");
out.println("<input type=\"text\" size=\"30\" name=\"user\" >");
out.println("<input type=\"password\" size=\"30\" name=\"pass\" >");
out.println("<input type=\"submit\" value=\"sure\" >");
out.println("<input type=\"reset\" value=\"reset\">");
out.println("</form>");
}
out.println("</body>");
out.println("</html>");
}
}我的web.xml的配置信息是
<servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>ch16.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/ch16/login</url-pattern>
</servelt-mapping>
我在eclipse浏览器中访问的路径是:http://localhost:8088/servletpractices/ch16/login  其中8088是我的端口号,肯定没问题,servletpractices是我的包名,也没有问题,但访问后就是会出现404错误,是什么原因呢?

解决方案 »

  1.   

    <servlet>
        <servlet-name>LoginServlet </servlet-name>
        <servlet-class>ch16.LoginServlet </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet </servlet-name>
        <url-pattern>/login </url-pattern>
    </servelt-mapping>
      

  2.   

    首先,你是不是</servelt-mapping>写错了???别的地方自己再找找,包括空格啊什么的
    </servlet-mapping>
      

  3.   

    还有“servletpractices”??搞不懂
      

  4.   

    怎么CSDN说我刷屏?太阳他家的
    明白lz意思了,servletpractices是上下文,说成包我误会了
    如果别的地方没错的话,只需要改</servlet-mapping>就可以了,另,注意空格
    <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>ch16.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
      

  5.   

    写错,
    <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>ch16.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/ch16/login</url-pattern>
    </servlet-mapping>
      

  6.   

    </servelt-mapping>是笔误,没有错的。
    今天我运行昨天发帖时的代码,却能够运行了,不知是啥原因,谢谢歌歌们了哦。