本帖最后由 beboyous 于 2013-02-26 22:45:03 编辑

解决方案 »

  1.   

    以下是我的Servlet Action的源码:
    package com.xxj.action.supplier.save;import java.io.IOException;import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;import com.xxj.bean.Supplier;
    import com.xxj.dao.ISupplierDao;
    import com.xxj.dao.impl.SupplierDaoImpl;
    public class SaveSupplierAction extends HttpServlet{

    public void service(HttpServletRequest request,HttpServletResponse response)
    throws ServletException,IOException{
    response.setContentType("text/html;charset=utf-8");
    String uri = request.getRequestURI();
    String action = uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));
    HttpSession session = request.getSession(); System.out.println(action.equals("/dosave"));//运行后,不打印结果
    System.out.println(action.equals("/tosave"));//运行后,不打印结果 System.out.print("jghjguyiguygugjk");//运行后,不打印结果 if(action.equals("/dosave")){
    /**
     * 获取页面所提交的数据给数据,将数据插入业务访问层
     */
    request.setCharacterEncoding("utf-8");
    String name = request.getParameter("name"); System.out.println(name);//运行后,不打印结果 String discussTime = request.getParameter("year1") + "-" + request.getParameter("month1") + 
    "-" + request.getParameter("day1") + " " + request.getParameter("hour1") + ":" + 
    request.getParameter("min1"); System.out.println(discussTime);//运行后,不打印结果 String inputTime = request.getParameter("year2") + "-" + request.getParameter("month2") + 
    "-" + request.getParameter("day2") + " " + request.getParameter("hour2") + ":" +
    request.getParameter("min2"); System.out.println("******");//运行后,不打印结果 System.out.println(inputTime);//运行后,不打印结果 String linkman = request.getParameter("linkman"); System.out.println(linkman);//运行后,不打印结果 String address = request.getParameter("address"); System.out.println(address);//运行后,不打印结果 String postcode = request.getParameter("postcode"); System.out.println(postcode);//运行后,不打印结果 String phone = request.getParameter("phone");
    String telephone = request.getParameter("telephone");
    String email = request.getParameter("telephone");
    String website = request.getParameter("URL");
    String resume = request.getParameter("resume");
    String details = request.getParameter("details"); System.out.println(details);//运行后,不打印结果 String res = request.getParameter("res"); System.out.println(res);//运行后,不打印结果 Supplier su = new Supplier();
    su.setName(name);
    su.setDiscussTime(discussTime); 
    su.setInputTime(inputTime);
    su.setLinkman(linkman);
    su.setAddress(address);
    su.setPostcode(postcode);
    su.setPhone(phone);
    su.setTelephone(telephone);
    su.setEmail(email);
    su.setWebsite(website);
    su.setResume(resume);
    su.setDetails(details);
    su.setRes(res); System.out.println(su);//运行后,不打印结果 System.out.println(su.equals(null));//运行后,不打印结果 session.setAttribute("su", su);
    ISupplierDao isd = new SupplierDaoImpl();
    try {
    isd.saveSupplier(su);
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    response.sendRedirect("tosave.do");

    }else if(action.equals("/tosave")){
    /**
     * 将提交的那一条供货商信息,返回到提交后的提交成功的页面上面
     */
    Supplier su = (Supplier)session.getAttribute("su"); System.out.println(su.equals(null));//运行后,不打印结果 if(su != null){
    request.setAttribute("su", su);
    RequestDispatcher rd =  request.getRequestDispatcher("tosave.jsp");
    rd.forward(request, response);
    }else{ System.out.println("su为空!!!");//运行后,不打印结果 }
    }
    }
    }
      

  2.   

    你的三个servlet的<url-pattern>设置的都是*.do,那么你用dosave.do访问的时候只会匹配第一个满足条件的,也就是RegistAction,后面的servlet当然得不到运行。 一个问题发了两个帖子?