我正在编写一个调用服务方法的示例 servlet 类。服务方法需要验证用户名和密码。
public static void main(String[] args) {
System.out.println(new UserServiceImpl().login(name, password));
}
public String login(String username, String password) {
StringBuilder validUser = new StringBuilder();
if(username == null || password == null){
return invalidUser();
}
if((validUsers.contains(name) && validPassword.contains(password))){
validUser.append("<user>");
validUser.append("<username>");
validUser.append(username);
validUser.append("</username>");
validUser.append("<firstname>");
validUser.append("Mr M");
validUser.append("</firstname>");
validUser.append("<lastname>");
validUser.append("Tom");
validUser.append("</lastname>");
validUser.append("</user>");
return validUser.toString();
}
else{
return invalidUser();
}
}
private String invalidUser() {
StringBuilder invalidUser = new StringBuilder();
invalidUser.append("<status>");
invalidUser.append("<code>");
invalidUser.append("401");
invalidUser.append("</code>");
invalidUser.append("<message>");
invalidUser.append("Invalid Credentials");
invalidUser.append("</message>");
invalidUser.append("</status>");
return invalidUser.toString();
}
表单提交应该触发 LoginServlet,用户名和密码从中传递给 UserService.login。如果验证了用户名和密码(如果语句没问题),则应返回用户 xml 字符串:
<user><username></username><firstname></firstname><lastname></lastname></user>
否则,应返回状态 xml 字符串:
<status><code>401</code><message>Invalid Credentials</message></status>
在这种情况下,我尝试使用 StringBuilder 来制作上述格式。我可以尝试任何不同的方法吗?像 JaxB 或 Sax 或 Dom,哪种格式更适合制作上述格式?字符串生成器最适合这种情况?
在我的 servlet 类中,如果用户有效,我需要返回查看页面,即欢迎页面,否则返回带有错误详细信息的错误消息页面。