在entity包下新建javabean 也就是实体类User
注意id用 Integer 而不用 int, 因为 int 自动初始化为0
public class User {
private Integer id;
private String username;
private String password;
后面是set和get方法...
在Servlet包下创建servlet 右击Servlet包→新建→servlet
doget和dopost方法已经默认勾选了 直接下一步
左上角的勾是说会把servlet注册到web.xml中 直接单击完成
在UserServlet中让doget做dopost方法 因为form表单是通过post方法传过来的 假如用get方法传值,dopost方法就要做doget
public void doGet(HttpServletRequest request, HttpServletResponse
response)throwsServletException, IOException {
doPost(request,response);
}
重写dopost方法
处理提交过来时产生的中文乱码
request.setCharacterEncoding("UTF-8");
对两次密码进行判断 不同则转发到错误页面,相同则转发到信息页面,由于不涉及数据库,就把值保存在session中 跳转的页面scope要设置要session
并用try catch捕捉可能抛出的异常
try{
username=request.getParameter("username");
password=request.getParameter("password");
confirmpass=request.getParameter("confirmpass");
if(password.equals(confirmpass)){
user.setUsername(username);
user.setPassword(password);
//把对象保存在session中
request.getSession().setAttribute("UserRegister", user);
//服务器内部跳转
request.getRequestDispatcher("../userInfo.jsp").forward(request, response);
}else {
request.getRequestDispatcher("../error.jsp").forward(request, response);
}
}
catch(Exception e){
e.printStackTrace();
}
注册页面:register.jsp action是把数据传给Servlet, 让Servlet处理 name属性的名字要和javabean中实体类entity的User中的属性一一对应
信息页面: 主要用userbean的方法来获取Servlet返回的数据 class为实体类User的所在路径
scope设置为session Servlet把数据封装在seesion中
不过我推荐用EL表达式获取数据,简化代码 格式:${保存对象.属性}
在这里我的对象名为UserRegister user中已经有Username和Password属性了
user.setUsername(username);
user.setPassword(password);
//把对象保存在session中
request.getSession().setAttribute("UserRegister", user);
查看项目完整代码
项目地址:github.com/JinBinPeng/JSPdemo
注:js文件取于网上