servlet+tomcat+jsp
写一个简单的登录注册 新手篇
内容包括 登录 注册 记住密码
先写两个jsp文件 register.jsp
<html>
<head>
<title>注册</title>
<style type="text/css">
tr{
height: 50px;
}
td{
text-align: center;
}
</style>
</head>
<body>
<h1 align="center">注册</h1>
<form action="doRegister" method="post">
<table width="50%" border="1"cellspacing="0"align="center">
<tr>
<td>账号:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="confirmpwd" /></td>
</tr>
<tr>
<td>性别:</td>
<td> <input type="radio" name="sex" value="男" checked />男
<input type="radio" name="sex" value="女"/>女 </td>
</tr>
<tr>
<td>籍贯:</td>
<td>
<input type="text" name="province">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="注册"/>
</td>
</tr>
</table>
</form>
</body>
</html>
</head>
<body>
</body>
</html>
login.jsp
<html>
<head>
<title>登录</title>
<style type="text/css">
tr{
height: 50px;
}
</style>
</head>
<body>
<%
String msg=(String)request.getAttribute("msg");
if (msg !=null){
out.print(msg);
}
%>
<%
Cookie[] cookies= request.getCookies();
String username="";
String pwd="";
if (cookies !=null){
for (Cookie cookie: cookies){
if (cookie.getName().equals("username")){
username = cookie.getValue();
}
if (cookie.getName().equals("pwd")){
pwd = cookie.getValue();
}
}
}
%>
<form action="loginServlet" method="get">
<h1 align="center">登录</h1>
<hr>
<table width="50%" border="0"cellspacing="0"align="center">
<tr>
<td>账号:</td>
<td>
<%
if (!username.equals("")){
%>
<input type="text" name="username" value="<%=username%>"/>
<%
}else {
%>
<input type="text" name="username" />
<%
}
%>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<%
if (!pwd.equals("")){
%>
<input type="password" name="password" value="<%=pwd%>"/>
<%
}else {
%>
<input type="password" name="password" />
<%
}
%>
</td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="remeberPwd" />记住密码
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登录"/>
</td>
</tr>
</table>
</form>
</body>
</html>
配置tomcat 相关文件
配置web.xml文件
把register.jsp设为首选界面
<welcome-file-list>
<welcome-file>register.jsp</welcome-file>
</welcome-file-list>
创建servlet 分别对应
package com.lwyz.controller;
import com.lwzy.utils.DruidUtils;
import org.apache.commons.dbutils.QueryRunner;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
public class RegisterServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取编码
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//获取表单内容
String username = request.getParameter("username");//账号
String password = request.getParameter("password");//密码
String confirmpwd = request.getParameter("confirmpwd");//确认密码
String sex = request.getParameter("sex");//性别
String province = request.getParameter("province");//籍贯
//连接数据库
QueryRunner qr= new QueryRunner(DruidUtils.getDataSource());
String sql ="insert into member values(null,?,?,?,?)";
try {
qr.update(sql,username,password,sex,province);
} catch (SQLException e) {
e.printStackTrace();
}
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<meta http-equiv='refresh' content='3;URl=login.jsp' >");
out.println("</head>");
out.println("<body>");
out.println("<h1 align='center'>注册成功</h1>");
out.println("3秒后自动跳转登录界面");
out.println("</body>");
out.println("</html>");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
loginServlet.java
package com.lwyz.controller;
import com.lwzy.utils.DruidUtils;
import domain.User;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
@WebServlet( "/loginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//改编码
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//获取表单信息
String username =request.getParameter("username");
String password =request.getParameter("password");
//连接数据库
QueryRunner qr = new QueryRunner(DruidUtils.getDataSource());
String sql = "select * from member where username= ? and password=?";
User user =null;
try {
user = qr.query(sql,new BeanHandler<User>(User.class),username,password);
}catch (SQLException e){
e.printStackTrace();
}
if (user !=null){
String remberPwd =request.getParameter("remeberPwd");
System.out.println(remberPwd);
if ("on".equals(remberPwd)) {
Cookie cookie_uname = new Cookie("username", username);
Cookie cookie_pwd =new Cookie("pwd", password);
response.addCookie(cookie_uname);
response.addCookie(cookie_pwd);
} //成功
request.setAttribute("loginUser", username);
request.getRequestDispatcher("success.jsp").forward(request, response);
}else {
//失败
request.setAttribute("msg","<script>window.alert('账号或密码错误!')</script>");
request.getRequestDispatcher("login.jsp").forward(request,response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
其中连接数据库使用为 Apache工具类
上一个文章有具体代码 为mysql8.0以上版本的
其中User为注册界面的内容
package domain;
public class User {
private int id;
private String username;
private String password;
private String sex;
private String province;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
}
当登录成功时 显示登录账号信息
success.jsp
<html>
<head>
<title>成功</title>
</head>
<body>
<%
String loginUser=(String) request.getAttribute("loginUser");
%>
<h1 style="color: aqua" align="center">欢迎你 <%=loginUser%> 登录成功</h1>
</body>
</html>
效果如下