问题是这样子的:注册页面的数据提交到Servlet后,由Servlet调用连接数据库并添加数据的一个类,然后重定向一个页面,这个页面就是要显示注册页面提交的数据。具提的做法不会做,求高手解答。在线等.....

解决方案 »

  1.   

    用request.setAttribute();把注册的信息存放起来,让后返回给注册页面。。
    <input name="userName" value="<%=request.getAttribute("userName")%>"/>
      

  2.   

    不要用response.sendRedirect返回,这样request不能存数据,
    只能用request.getDispatcher("regist.jsp").findForward(request,response)返回(函数名我忘记了,大概就是这样了)。。
      

  3.   

    这个主要是写action类(操作数据库)
    UserDao.java
    package com.unis.dao;import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import com.unis.vo.UserVo;
    import java.util.ArrayList;
    import java.sql.ResultSet;/**
     *
     * <p>Title: </p>
     *
     * <p>Description: 基于用户管理的DAO层</p>
     *
     * <p>Copyright: Copyright (c) 2011</p>
     *
     * <p>Company: UNIS</p>
     *
     * @author ale
     *
     * @version 1.0
     */
    public class UserDao {
        public UserDao() {
        }    private Connection con = null;
        private Statement st = null;    /**
         * 连接数据库
         */
        private void initDb() {
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                con = DriverManager.getConnection("jdbc:odbc:unis_20110421", "", "");
                st = con.createStatement();
            } catch (ClassNotFoundException ex) {
            } catch (SQLException ex) {
                /** @todo Handle this exception */
                ex.printStackTrace();
            }
        }    /**
         * 关闭数据库
         */
        private void closeDb() {
            try {
                st.close();
                con.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }    /**
         * 将用户信息插入数据库中
         * @param uservo UserVo
         * @return boolean
         */
        public int insertUser(UserVo uservo) {
            this.initDb();
            int tempFlag = 0;
            try {
                String sql = "INSERT INTO usertable (user_name,user_password,user_sex,user_describe) VALUES ('"+uservo.getName()+"','"+uservo.getPassword()+"','"+uservo.getSex()+"','"+uservo.getDescribe()+"')";
                tempFlag = st.executeUpdate(sql);
                System.out.println(tempFlag);
            } catch (SQLException ex) {
                ex.printStackTrace();
            } finally {
                this.closeDb();
            }
            return tempFlag;
        }    /**
         * 查询数据库中所有用户信息
         * @return ArrayList
         */
        public ArrayList selectUserList() {
            this.initDb();
            ArrayList userList = null;
            try {
                String sql = "SELECT user_id,user_name FROM usertable";
                ResultSet rs = st.executeQuery(sql);
                userList = new ArrayList();
                while(rs.next())
                {
                    UserVo uservo = new UserVo();
                    uservo.setId(rs.getInt("user_id"));
                    uservo.setName(rs.getString("user_name"));
                    userList.add(uservo);
                }
            } catch (SQLException ex){
                ex.printStackTrace();
            }finally {
                this.closeDb();
            }
            return userList;
        }
    }servlet.java
    package com.unis.servlet;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import com.unis.vo.UserVo;
    import com.unis.dao.UserDao;
    public class ServletUserAdd extends HttpServlet {
        private static final String CONTENT_TYPE = "text/html; charset=UTF-8";    //Initialize global variables
        public void init() throws ServletException {
        }    //Process the HTTP Get request
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {    }    //Process the HTTP Post request
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {        //获取客户端表单项的值
            String userName = request.getParameter("userName");
            String userPassword = request.getParameter("userPassword");
            String userSex = request.getParameter("userSex");
            String userDescribe = request.getParameter("userDescribe");        //将表单项的值保存到uservo中
            UserVo uservo = new UserVo();
            uservo.setName(userName);
            uservo.setPassword(userPassword);
            uservo.setSex(userSex);
            uservo.setDescribe(userDescribe);        //将表单项的值插入数据库中
            UserDao userdao = new UserDao();
            userdao.insertUser(uservo);//        //查询数据库中所有的用户信息
    //        ArrayList userList = userdao.selectUserList();
    //
    //        //将所有的用户信息发送到客户端
    //        request.setAttribute("userList",userList);
    //
    //        //跳转
    //        request.getRequestDispatcher("/userlist.jsp").forward(request,response);
            request.getRequestDispatcher("/servletuserindex").forward(request,response);
        }    //Clean up resources
        public void destroy() {
        }
    }vo.java
    package com.unis.vo;public class UserVo {
        public UserVo() {
        }    public String getSex() {
            return sex;
        }    public String getPassword() {
            return password;
        }    public String getName() {
            return name;
        }    public int getId() {
            return id;
        }    public void setDescribe(String describe) {
            this.describe = describe;
        }    public void setSex(String sex) {
            this.sex = sex;
        }    public void setPassword(String password) {
            this.password = password;
        }    public void setName(String name) {
            this.name = name;
        }    public void setId(int id) {
            this.id = id;
        }    public String getDescribe() {
            return describe;
        }    private int id;
        private String name;
        private String password;
        private String sex;
        private String describe;
    }
    页面不用说了吧。。 很久以前做的的例子了 你看看有用吧
      

  4.   

            //将表单项的值插入数据库中
            UserDao userdao = new UserDao();
            userdao.insertUser(uservo);//        //跳转
            request.getRequestDispatcher("/servletuserindex").forward(request,response);
            /* 采用这种方法的一个好处就是他把你的request和response重新带回了你的跳转页面,所以在你接收的页面,可以访问你之前调教的user信息。而你采用response.sendRidirect();的时候,是会丢失你之前填写的 信息的。*/
        }
    你已经操作到这里了,所以现在你已经跳转到显示你注册信息的页面了,然后你在页面中通过${requestScope.uservo.用户的属性}完成在页面中,已经注册的信息的显示