注册示例

发表时间:2017-05-15 16:25:09 浏览量( 18 ) 留言数( 0 )

学习目标:

1、了解Java的历史

2、为什么要学习Java语言

3、端正学习态度


学习过程:

下面我们在做一个示例,简单巩固一下我们今天学习的内容。我们就新建一个注册功能,注册功能后跳转到用户列表页中,就可以看到刚才注册的新用户了。

1、实现页面。

<form action="userAddServlet" method="post">
用户名:<input name="uname">
<br />
密码:<input name="pass" type="password">
<br />
性别: <input type="radio" value="1"  name="gender" />男 <input type="radio" value="0" name="gender" />女
<br />
爱好:<input type="checkbox" value="羽毛球" name="hobby">羽毛球
<input type="checkbox" value="篮球" name="hobby">篮球
<input type="checkbox" value="足球" name="hobby">足球
<br />
<input type="submit" value="注册">
</form>

2、实现数据库访问层,就是model层。

   public int addUser(User user) {    int result = 0;    String sql = "insert into tb_user(uname,pass,gender,hobby) values(?,?,?,?)";    getCon();    result = exeUpdate(sql, new Object[] { user.getUname(), user.getPass(),    user.getGender(), user.getHobby() });            closeAll();    return result;}

3、实现servelt,也就是control层

   public class UserAddServlet extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        UserDao userDao=new UserDao();        //1、获得view信息,并封装成javaBean对象        String uname=request.getParameter("uname");        String pass=request.getParameter("pass");        int gender=Integer.parseInt(request.getParameter("gender"));        String [] hobbys=request.getParameterValues("hobby");        StringBuffer hobbytemp=new StringBuffer();        for(int i=0;i<hobbys.length;i++){            hobbytemp.append(hobbys[i]+",");        }        User user=new User();        user.setUname(uname);        user.setPass(pass);        user.setGender(gender);        user.setHobby(hobbytemp.toString());        //添加到数据库        int result= userDao.addUser(user);        //返回页面        if(result>0){        response.sendRedirect("servlet/UserListServlet");        }else{        response.sendRedirect("loginerror.jsp");        }    }    public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {           doGet(request, response);    }}

4、修改web.xml

 <servlet>
    <servlet-name>UserAddServlet</servlet-name>
    <servlet-class>com.servlet.UserAddServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UserAddServlet</servlet-name>
    <url-pattern>/userAddServlet</url-pattern>
  </servlet-mapping>

5、中文乱码。如果使用英文注册就不会有问题,但是使用中文就会乱码,这里我们需要在dopost方法的最前面加上这句代码设置:

//设置
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");