学习目标:
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");