我用的是myeclipse新建一个项目生成的文件夹位置大家应该都知道的!下面我就贴一下我的代码和web.xml!希望大家踊跃指出错误啊!
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <servlet>
     <servlet-name>login</servlet-name>
     <servlet-class>lc.user.LoginServlet</servlet-class>
 </servlet>
<servlet-mapping>
     <servlet-name>login</servlet-name>
     <url-pattern>/design_web/*</url-pattern>
</servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
login.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>登录页面</title>
  </head>
  
  <body>
    <center>
      <form action="design_web/login" method="post">
<table>
<tr>
<td colspan="2">用户登陆</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="uname" size="20"></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;码:</td>
<td><input type="password" name="pwd" size="20"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登陆">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
  </center>
  </body>
</html>
LoginServlet.java:package lc.user;import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;import lc.web.*;
public class LoginServlet extends HttpServlet { public LoginServlet() {
// TODO Auto-generated con;structor stub
}
 public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
    {
   this.doPost(request, response);
     System.out.println("执行doget操作。。");
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
    {
      System.out.println("执行dopost操作。。");
     String path="login.html";
     String name=request.getParameter("uname");
     String pwd =request.getParameter("pwd");
     User user=new User();
     user.setUname(name);
     user.setPwd(pwd);
     Login login=new Login();
     try
     {
     if(login.isValidUser(user))
     {
     // HttpServletRequest req=(HttpServletRequest)request;
     // HttpSession session=req.getSession();
     request.getSession().setAttribute("uname",user.getUname());
     path="success.jsp";
     }
     else
     {
     request.setAttribute("error","错误的用户和密码");
     }
     }
     catch(Exception e)
     {
     e.printStackTrace();
     }
     request.getRequestDispatcher(path).forward(request,response);
    }
   
}在线等待解决方案,先谢过了啊!

解决方案 »

  1.   

    对了,还有如果运行的话,会出现以下异常at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at lc.user.LoginServlet.doPost(LoginServlet.java:46)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
      

  2.   

    at lc.user.LoginServlet.doPost(LoginServlet.java:46) 按提示信息 这一行有问题,但我不知道报的是什么异常啊
      

  3.   

    他一直死循环at lc.user.LoginServlet.doPost(LoginServlet.java:46) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)这一段啊!
      

  4.   

    LoginServlet.java:46
    这行是什么,我可不是神仙啊
      

  5.   

    简单点就是action跳转的地址对不对啊???
      

  6.   

    我在补充一点啊!我想知道action跳转的地址对不对啊??谢了先!
      

  7.   

    你的web.xml配置正确与否  ?仔细检查下  很肯能是这个问题
      

  8.   


    知道你的问题出在哪里了
    <servlet-mapping> 
        <servlet-name>login </servlet-name> 
        <url-pattern>/design_web/* </url-pattern> 
    </servlet-mapping> 因为你的servlet映射路径是/design_web/* ,也就是design_web路径下的所有请求都会请求你的LoginServlet,
    跳转时:request.getRequestDispatcher(path).forward(request,response); 因为你当前的请求路径是design_web下面,即就是请求design_web\success.jsp,而你配置的<url-pattern>/design_web/* </url-pattern> 把design_web\success.jsp拦截,又执行LoginServlet,这样就会导致死循环。解决办法:
    <servlet-mapping> 
        <servlet-name>login </servlet-name> 
        <url-pattern>/design_web/login </url-pattern> 
    </servlet-mapping> 
      

  9.   

    这样是不会死循环了!谢了!但是新的问题来了,你说我这个路径写的对吗??跳不过去啊!就是进不去LoginServlet里面啊~!这是为什么啊??action的地址会有问题吗??
      

  10.   

    我想LoginServlet应该是执行,问题是request.getRequestDispatcher(path).forward(request,response);跳转时出错了。因为当前路径变成了design_web目录,在design_web目录下面找不到success.jsp,就会出现404错误。两种解决方案:
    1.<servlet-mapping> 
        <servlet-name>login </servlet-name> 
        <url-pattern>/login </url-pattern> 
    </servlet-mapping> 2.request.getRequestDispatcher("../success.jsp").forward(request,response);如果有问题,应该把错误停息贴出来。5
      

  11.   

    如果再错了把  <url-pattern>/design_web/* </url-pattern> 改成 
     <url-pattern>/login/ </url-pattern> 

    <form action="design_web/login" method="post"> 
    改成
    <form action="login" method="post"> 
    在看看能不能跳到servlet里面去
      

  12.   

    说实话,我看的还真不太明白,如果只是一个servlet路径的跳转问题,会有这么麻烦吗,怎么描述了半天我硬是没有明白,看来是我的理解能力不行了