您的位置:首页 > Web前端 > JavaScript

很全面的登录注册页面(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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: