很全面的登录注册页面(jsp+servlet+jstl)
2016-11-29 01:17
489 查看
1.login.jsp
[html] view
plain copy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<%
String msg="";
msg=(String)request.getAttribute("msg");
%>
<center>
<form action="dologin" method="post" onsubmit="return check();">
用户名:<input type="text" id="username" name="username"/><span id="userPmg" style="color:red;"></span></br></br>
密 码 :<input type="password" id="password" name="password"/><span id="pwd" style="color:red;"></span></br>
<input type="button" value="注册" onclick="window.location='regis.jsp;'"/>
<input type="submit" value="登陆"/></br>
<c:if test="${msg!=''}">
<span style="color:red;">${msg}</span>
</c:if>
</form>
</center>
</body>
<script type="text/javascript">
function check(){
document.getElementById("userPmg").innerHTML="";
document.getElementById("pwd").innerHTML="";
var flag=true;
var username=document.getElementById("username").value;
if(username.length==0){
document.getElementById("userPmg").innerHTML="用户名不能为空";
flag=false;
}
var password=document.getElementById("password").value;
if(password.length==0){
document.getElementById("pwd").innerHTML="密码不能为空";
flag=false;
}
return flag;
}
</script>
</html>
2.dologin
[java] view
plain copy
package com.cdsxt.action;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.cdsxt.dao.UserDao;
import com.cdsxt.dao.impl.UserDaoImpl;
import com.cdsxt.po.User;
/**
* Servlet implementation class dologin
*/
@WebServlet("/dologin")
public class dologin extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public dologin() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
HttpSession session=request.getSession();
String username=request.getParameter("username");
String password=request.getParameter("password");
UserDao us=new UserDaoImpl();
List<User> list=us.getUserList();
int a=0;
for(User user:list){
if(user.getName().equals(username)&&(user.getPassword().equals(password))){
a=1;
session.setAttribute("username", username);
session.setAttribute("password",password);
response.sendRedirect("success.jsp");
return;
}
}
if(a==0){
String msg="用户名或密码错误,请重新输入";
request.setAttribute("msg", msg);
request.getRequestDispatcher("login.jsp").forward(request,response);
return;
}
}
}
3.UserDao
[java] view
plain copy
package com.cdsxt.dao;
import java.util.List;
import com.cdsxt.po.User;
public interface UserDao {
List<User> getUserList();
boolean addUser(User user);
}
4.UserDaoImpl
[java] view
plain copy
package com.cdsxt.dao.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.cdsxt.dao.UserDao;
import com.cdsxt.po.User;
public class UserDaoImpl implements UserDao{
@Override
public List<User> getUserList() {
List<User> list=new ArrayList<User>();
Connection conn=null;
Statement ps=null;
ResultSet rs=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
String sql="select * from User";
ps=conn.createStatement();
rs=ps.executeQuery(sql);
while(rs.next()){
int id=rs.getInt("id");
String username=rs.getString("name");
String password=rs.getString("password");
int age=rs.getInt("age");
User user=new User();
user.setId(id);
user.setName(username);
user.setPassword(password);
user.setAge(age);
list.add(user);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return list;
}
@Override
public boolean addUser(User user) {
boolean flag=false;
Connection conn=null;
Statement st=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
st=conn.createStatement();
String sql="insert into user(name,password) values('"+user.getName()+"','"+user.getPassword()+"');";
int i=st.executeUpdate(sql);
if(i>0){
flag=true;
System.out.println("添加成功");
}
}catch(Exception e){
e.printStackTrace();
System.out.println("添加失败");
}finally{
if(st!=null){
try {
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return false;
}
}
5.regis.jsp
[html] view
plain copy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'regis.jsp' starting page</title>
</head>
<script text="text/javascript">
function check(){
document.getElementById("umeg").innerHTML="";
document.getElementById("pwd").innerHTML="";
document.getElementById("pwdmeg").innerHTML="";
var username=document.getElementById("username").value;
var flag=true;
if(username==""){
document.getElementById("umeg").innerHTML="用户名不能为空";
flag=false;
}
var password=document.getElementById("password").value;
if(password==""){
document.getElementById("pwd").innerHTML="密码不能为空";
flag=false;
}
var repwd=document.getElementById("repwd").value;
if(repwd!=password){
document.getElementById("pwdmeg").innerHTML="两次输入的密码不一致";
flag=false;
}
return flag;
}
</script>
<%
String msg="";
msg=(String)request.getAttribute("msg");
%>
<body>
<center> <h2 style="color:blue;">注册界面</h2></center>
<center>
<form action="doregis" method="post" onsubmit="return check();">
用户名:<input type="text" id="username" name="username"/><span id="umeg" style="color:red;"></span>
<c:if test="${msg!=''}">
<span style="color:red;">${msg}</span>
</c:if></br></br>
密码:<input type="password" id="password" name="password"/><span id="pwd" style="color:red;"></span></br></br>
确认密码:<input type="password" id="repwd" name="repwd"/><span id="pwdmeg" style="color:red;"></span></br></br>
<input type="submit" value="提交"/>
</form>
</center>
</body>
</html>
6.doregis
[java] view
plain copy
package com.cdsxt.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.cdsxt.dao.UserDao;
import com.cdsxt.dao.impl.UserDaoImpl;
import com.cdsxt.po.User;
/**
* Servlet implementation class doregis
*/
@WebServlet("/doregis")
public class doregis extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public doregis() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
HttpSession session=request.getSession();
String username=request.getParameter("username");
String password=request.getParameter("password");
User user1=new User();
user1.setName(username);
user1.setPassword(password);
UserDao us=new UserDaoImpl();
List<User> list=us.getUserList();
int a=0;
for(User user:list){
if(user.getName().equals(username)){
a=1;
String msg="该用户名已经存在,请重新注册";
request.setAttribute("msg", msg);
request.getRequestDispatcher("regis.jsp").forward(request,response);
}
}
if(a==0){
boolean b=us.addUser(user1);
session.setAttribute("username",username);
session.setAttribute("password",password);
response.sendRedirect("login.jsp");
}
}
}
7.seccess.jsp
[html] view
plain copy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<%
String username="";
username=(String)request.getAttribute("username");
%>
<body>
欢迎 <c:if test="${username!=''}">
<span id="username" style="color:red;">${username}</span>
</c:if>使用本系统
</body>
</html>
[html] view
plain copy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<%
String msg="";
msg=(String)request.getAttribute("msg");
%>
<center>
<form action="dologin" method="post" onsubmit="return check();">
用户名:<input type="text" id="username" name="username"/><span id="userPmg" style="color:red;"></span></br></br>
密 码 :<input type="password" id="password" name="password"/><span id="pwd" style="color:red;"></span></br>
<input type="button" value="注册" onclick="window.location='regis.jsp;'"/>
<input type="submit" value="登陆"/></br>
<c:if test="${msg!=''}">
<span style="color:red;">${msg}</span>
</c:if>
</form>
</center>
</body>
<script type="text/javascript">
function check(){
document.getElementById("userPmg").innerHTML="";
document.getElementById("pwd").innerHTML="";
var flag=true;
var username=document.getElementById("username").value;
if(username.length==0){
document.getElementById("userPmg").innerHTML="用户名不能为空";
flag=false;
}
var password=document.getElementById("password").value;
if(password.length==0){
document.getElementById("pwd").innerHTML="密码不能为空";
flag=false;
}
return flag;
}
</script>
</html>
2.dologin
[java] view
plain copy
package com.cdsxt.action;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.cdsxt.dao.UserDao;
import com.cdsxt.dao.impl.UserDaoImpl;
import com.cdsxt.po.User;
/**
* Servlet implementation class dologin
*/
@WebServlet("/dologin")
public class dologin extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public dologin() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
HttpSession session=request.getSession();
String username=request.getParameter("username");
String password=request.getParameter("password");
UserDao us=new UserDaoImpl();
List<User> list=us.getUserList();
int a=0;
for(User user:list){
if(user.getName().equals(username)&&(user.getPassword().equals(password))){
a=1;
session.setAttribute("username", username);
session.setAttribute("password",password);
response.sendRedirect("success.jsp");
return;
}
}
if(a==0){
String msg="用户名或密码错误,请重新输入";
request.setAttribute("msg", msg);
request.getRequestDispatcher("login.jsp").forward(request,response);
return;
}
}
}
3.UserDao
[java] view
plain copy
package com.cdsxt.dao;
import java.util.List;
import com.cdsxt.po.User;
public interface UserDao {
List<User> getUserList();
boolean addUser(User user);
}
4.UserDaoImpl
[java] view
plain copy
package com.cdsxt.dao.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.cdsxt.dao.UserDao;
import com.cdsxt.po.User;
public class UserDaoImpl implements UserDao{
@Override
public List<User> getUserList() {
List<User> list=new ArrayList<User>();
Connection conn=null;
Statement ps=null;
ResultSet rs=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
String sql="select * from User";
ps=conn.createStatement();
rs=ps.executeQuery(sql);
while(rs.next()){
int id=rs.getInt("id");
String username=rs.getString("name");
String password=rs.getString("password");
int age=rs.getInt("age");
User user=new User();
user.setId(id);
user.setName(username);
user.setPassword(password);
user.setAge(age);
list.add(user);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return list;
}
@Override
public boolean addUser(User user) {
boolean flag=false;
Connection conn=null;
Statement st=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
st=conn.createStatement();
String sql="insert into user(name,password) values('"+user.getName()+"','"+user.getPassword()+"');";
int i=st.executeUpdate(sql);
if(i>0){
flag=true;
System.out.println("添加成功");
}
}catch(Exception e){
e.printStackTrace();
System.out.println("添加失败");
}finally{
if(st!=null){
try {
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return false;
}
}
5.regis.jsp
[html] view
plain copy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'regis.jsp' starting page</title>
</head>
<script text="text/javascript">
function check(){
document.getElementById("umeg").innerHTML="";
document.getElementById("pwd").innerHTML="";
document.getElementById("pwdmeg").innerHTML="";
var username=document.getElementById("username").value;
var flag=true;
if(username==""){
document.getElementById("umeg").innerHTML="用户名不能为空";
flag=false;
}
var password=document.getElementById("password").value;
if(password==""){
document.getElementById("pwd").innerHTML="密码不能为空";
flag=false;
}
var repwd=document.getElementById("repwd").value;
if(repwd!=password){
document.getElementById("pwdmeg").innerHTML="两次输入的密码不一致";
flag=false;
}
return flag;
}
</script>
<%
String msg="";
msg=(String)request.getAttribute("msg");
%>
<body>
<center> <h2 style="color:blue;">注册界面</h2></center>
<center>
<form action="doregis" method="post" onsubmit="return check();">
用户名:<input type="text" id="username" name="username"/><span id="umeg" style="color:red;"></span>
<c:if test="${msg!=''}">
<span style="color:red;">${msg}</span>
</c:if></br></br>
密码:<input type="password" id="password" name="password"/><span id="pwd" style="color:red;"></span></br></br>
确认密码:<input type="password" id="repwd" name="repwd"/><span id="pwdmeg" style="color:red;"></span></br></br>
<input type="submit" value="提交"/>
</form>
</center>
</body>
</html>
6.doregis
[java] view
plain copy
package com.cdsxt.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.cdsxt.dao.UserDao;
import com.cdsxt.dao.impl.UserDaoImpl;
import com.cdsxt.po.User;
/**
* Servlet implementation class doregis
*/
@WebServlet("/doregis")
public class doregis extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public doregis() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
HttpSession session=request.getSession();
String username=request.getParameter("username");
String password=request.getParameter("password");
User user1=new User();
user1.setName(username);
user1.setPassword(password);
UserDao us=new UserDaoImpl();
List<User> list=us.getUserList();
int a=0;
for(User user:list){
if(user.getName().equals(username)){
a=1;
String msg="该用户名已经存在,请重新注册";
request.setAttribute("msg", msg);
request.getRequestDispatcher("regis.jsp").forward(request,response);
}
}
if(a==0){
boolean b=us.addUser(user1);
session.setAttribute("username",username);
session.setAttribute("password",password);
response.sendRedirect("login.jsp");
}
}
}
7.seccess.jsp
[html] view
plain copy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<%
String username="";
username=(String)request.getAttribute("username");
%>
<body>
欢迎 <c:if test="${username!=''}">
<span id="username" style="color:red;">${username}</span>
</c:if>使用本系统
</body>
</html>
相关文章推荐
- jsp+jstl+servlet+javaBean+Mysql用户登录注册页面
- JSP作业4 - 使用JSP+JavaBean+Servlet实现用户登录注册页面
- 简单的JSP-Servlet登录,注册,修改密码操作
- 【重温】_JSP与Servlet重温笔记,要点概述,jsp_servlet简单登录页面
- 在jsp中用bean和servlet联合实现用户注册、登录
- JSP+SERVLET+MVC登录和注册的例子
- 如何在JSP页面快速输出从Servlet接收的数据_看JSTL常用C标签的威力
- 用Servlet、JSP实现帐号注册页面,用过滤器过滤对象防止中文乱码
- 页面访问时发生错误: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- JSP之登录,注册页面(一)
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- jsp实现注册与登录页面+sqlsever2008
- 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/
- 在jsp中用bean和servlet联合实现用户注册、登录
- jsp版本2.1 servlet版本2.5 el表达式、jstl标签学习以及自定义标签(用标签实现业务逻辑和jsp页面的分离)
- 在jsp中用bean和servlet联合实现用户注册、登录
- 教程3:jsp和servlet配合的简单登录页面login.jsp
- JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)
- 在jsp页面通过jstl接收servlet中List对象数据
- 完整的JSP+Servlet+MyEclipse编写的注册登录