jsp注册页⾯java代码_使⽤Servlet和JSP实现⽤户注册功能⽤户注册表单处理
结合Servlet和JSP来实现⼀个⽤户注册功能,此时你应该已经了解Web表单处理的关键概念。
我们将⽤户注册的信息存放在内存中(即Java程序中的某个变量)。⾸先看看⽤户注册表单需要填写的信息:
⽤户注册
确定
处理⽤户信息的Java代码
⽤户信息包括:⽤户名——⽤户的唯⼀标识符,每⼀个⽤户的⽤户名必须不同
密码——⽤户登录的密码凭证
电⼦邮箱
⽤户头像URL
根据此可以设计User类来表⽰⽤户对象:public class User {
private long id;
private String username;
private String password;
private String email;
private String avatar = "images/default-avatar.jpeg";
public User(String username, String password, String email) {
this.username = username;
this.password = password;
}
}
这⾥⽤户头像我们暂时使⽤默认值。需要把头像图⽚保存为WebContent/images/default-avatar.jpeg。
系统中可能有多个⽤户,我们使⽤⼀个List来保存它,List作为Data类的静态变量存在于内存中:public class Data {
public static List users = new ArrayList<>();
static {
users.add(new User("luoruici", "password", "a@b"));
}
public static User getByUsername(String username) {
return users.stream()
.filter(e -> e.getUsername().equals(username))
.findFirst()
.orElse(null);
}
}
Data类中还向⽤户列表中添加了⼀个新⽤户⽤作测试,另外提供了⼀个函数——根据username查⽤户,这个函数在后⾯会经常被调⽤。
Servlet处理⽤户表单
处理⽤户表单的Servlet主要做这样⼏件事情:获取表单数据
对表单数据进⾏校验
如果校验成功,向⽤户列表中添加⼀个新的对象,并返回成功提⽰信息到浏览器;如果校验失败,直接将错误信息返回到表单界⾯,让⽤户重新填写。
具体处理代码如下:@WebServlet("/account/signup")
public class RegisterController extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = Parameter("username");
String password = Parameter("password");
String email = Parameter("email");
if (username != null && !username.isEmpty() && ByUsername(username) != null) {
req.setAttribute("usernameExist", true);
RequestDispatcher dispatcher = RequestDispatcher("/jsp/register.jsp");
dispatcher.forward(req, resp);
} else {
User user = new User(username, password, email);
Data.users.add(user);
RequestDispatcher dispatcher = RequestDispatcher("/WEB-INF/templates/registerResult.jsp");
dispatcher.forward(req, resp);javaservlet和jsp的比较
}
}
}
JSP显⽰注册结果页⾯
其中ByUsername(username) != null表明⽤户名已经存在,此时应该将请求转发给register.jsp也就是注册表单页⾯,同时告知⽤户名已经存在。那么register.jsp中也应该加⼊相应的处理代码:
⽤户名已经存在
当然这部分代码只是对username这⼀个字段的校验,其他字段可以根据业务需求写出类似的校验代码,这⾥就不⼀⼀赘述了。
如果表单数据通过校验,则⽤户列表中会新添加⼀个⽤户,此时渲染registerResult.jsp页⾯,告知⽤户已经注册成功:
注册成功
注册成功!请。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论