关于登录注册:
首先创建用户类user:
user类只是简单的包括账户和密码两项
public class User {
private String code;
private String password;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
创建接口userMag,添加方法public boolean add(User user);
然后实现在usermagimpl中实现add方法,
public class userMag {
public boolean add(User user) {
Connection coon = null;
PreparedStatement pst = null;
boolean flag = false;
try {
coon = DBPperator.getConnection();
String sql = "insert into user values(?,?)";
pst = coon.prepareStatement(sql);
pst.setString(1, user.getCode());
pst.setString(2, user.getPassword());
int row = pst.executeUpdate();
if (row > 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
}
最后创建用户注册的serlvet—AddUser
public class AddUser extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
request.setCharacterEncoding("GB18030");
response.setCharacterEncoding("GB18030");
String code = request.getParameter("code");
String password = request.getParameter("password");
String password2 = request.getParameter("password2");
if (!password.equals(password2)) {
OutputStream out = response.getOutputStream();
out.write("".getBytes());
request.setCharacterEncoding("GB18030");
response.setCharacterEncoding("GB18030");
String data = "输入的两次密码不一致,请重新输入!";
out.write("".getBytes());
out.write(data.getBytes("GB18030"));
out.write("".getBytes());
} else {
User user = new User();
user.setCode(code);
user.setPassword(password);
userMag umi = new userMag();
boolean flag = umi.add(user);
if (flag == true) {
response.sendRedirect("welcome.jsp");
}
}
}
}
最后是登录界面的servlet,
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userid = request.getParameter("code");
String password1 = request.getParameter("password");
userMag umi = new userMag();
List list = new ArrayList();
list = umi.getUsers();
int flag = 0;
for (int i = 0; i < list.size(); i++) {
User user = list.get(i);
if (user.getCode().equals(userid)) {
if (user.getPassword().equals(password1)) {
//想让浏览器长期显示用户名,用session记录
HttpSession session = request.getSession();
request.getRequestDispatcher("/index.jsp").forward(request, response);
flag = 1;
}
}
}
if (flag == 0) {
OutputStream out = response.getOutputStream();
out.write("".getBytes());
request.setCharacterEncoding("GB18030");
response.setCharacterEncoding("GB18030");
String data = "账号或密码错误,请重新输入!";//用html技术中meta标签模拟了一个http响应头,来控制浏览器的行为
out.write("".getBytes());
out.write(data.getBytes("GB18030"));
out.write("".getBytes());
}
}
然后构建welcome.jsp以及adduser.jsp
<form action="AddUser" method="post">
帐号:<input type="text" name="code">
密码:<input type="password" name="password">
密码重复:<input type="password" name="password2">
<input type="submit" value="注册">
</form>
最后是welcome:
<form action="WelUser" method="post">
<input class="myname" type="text" value="" name="code" placeholder="请输入您的用户名">
<input type="password" id="password" value="" name="password" placeholder="请输入您的用户密码!">
<input type="Captcha" class="Captcha" name="verifyCode" placeholder="请输入验证码!">
<div class="main_box"><img id="img" src="/JavaWebTest/VerifyCodeServlet">
<font color="red"> <b><%=message %>
</b></font>
<button type="submit" class="submit_button">登录
<a href="AddUser.jsp" buttontype="button" class="submit_button">注册</a>
</button>
</div>
</form>