留言板

一、功能
(1)登录功能
(2)注册功能
(3)留言功能([1].先把数据存入数据库[2].再从数据库里取出刚存入的数据)
二、相关技术
前端:js、ajax、jstl、css、jquery、jsp
后台:java、mysql
三、演示
1、我事先建立好的数据库表
(1)user表:
在这里插入图片描述
(2)message表:
在这里插入图片描述
2.客户端的访问操作
(1)进入登录页面(http://localhost:8080/Liuyan/login.jsp)

在这里插入图片描述
(2)新用户没有账户,需要注册一个
在这里插入图片描述
在这里插入图片描述
注册成功后跳登录页面
在这里插入图片描述
(3)去user表里查看验证,发现一致对的
在这里插入图片描述
(4)用注册成功的账号小华去登录
在这里插入图片描述
(5) 登录成功后进主页
在这里插入图片描述
(6)小华给杨纸画留言,然后点留言按钮
在这里插入图片描述
在这里插入图片描述
(8)到message表里查看验证,完全正确
在这里插入图片描述
四、工程布局图
在这里插入图片描述
在这里插入图片描述
五、代码

1、com.oracle.dao包:
package com.oracle.dao;

import java.util.List;

import com.oracle.vo.Message;

public interface MessageDao {
	//插入数据
	public boolean addMessage(Message m)throws Exception;
	//查询
	public List<Message> searAll()throws Exception;

}
===============
package com.oracle.dao;

import java.util.List;

import com.oracle.vo.User;

public interface UserDao {
	
	//插入数据
	public boolean addUser(User user)throws Exception;
	//查询
	public User searchByunameandpwd(String uname,String pw)throws Exception;
	public List<User> searchAll()throws Exception;
	public String cartoon(String uname)throws Exception;
	//根据人名查询
		public User searchByName(String uname) throws Exception;

}
2、com.oracle.daoImpl包:
package com.oracle.daoImpl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.oracle.dao.MessageDao;
import com.oracle.util.DBTools;
import com.oracle.vo.Message;
import com.oracle.vo.User;

public class MessageDaoImpl implements MessageDao {

	@Override
	public boolean addMessage(Message m) throws Exception {
		String sql = "insert into message(id,fromName,fromImg,toName,toImg,messDate,content)values(null,?,?,?,?,now(),?)";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, m.getFromName());
		ps.setString(2, m.getFromImg());
		ps.setString(3, m.getToName());
		ps.setString(4, m.getToImg());
		ps.setString(5, m.getContent());
		int result = ps.executeUpdate();
		return result > 0 ? true : false;
	}

	@Override
	public List<Message> searAll() throws Exception {
		String sql = "select * from message";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		List<Message> list = new ArrayList<>();
		Message m = null;
		while(rs.next()) {
			m = new Message();
			m.setContent(rs.getString("content"));
			m.setFromImg(rs.getString("fromImg"));
			m.setFromName(rs.getString("fromName"));
			m.setId(rs.getInt("id"));
			m.setMessDate(rs.getTimestamp("messDate"));
			m.setToImg(rs.getString("toImg"));
			m.setToName(rs.getString("toName"));
			list.add(m);
		}
		return list;
	}

}
=======================
package com.oracle.daoImpl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import com.oracle.dao.UserDao;
import com.oracle.util.DBTools;
import com.oracle.vo.User;

public class UserDaoImpl implements UserDao {

	@Override
	public boolean addUser(User user) throws Exception {
		String sql = "insert into user(id,uname,password,gender,age,phone,birthday,hobby,cartoon)values(null,?,?,?,?,?,?,?,?)";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, user.getUname());
		ps.setString(2, user.getPassword());
		ps.setInt(3, user.getGender());
		ps.setInt(4, user.getAge());
		ps.setString(5, user.getPhone());
		ps.setDate(6, user.getBirthday());
		ps.setString(7, Arrays.toString(user.getHobby()).replace("[", "").replace("]", ""));
		ps.setString(8, user.getCartoon());
		int result = ps.executeUpdate();
		
		return result > 0 ? true : false;
	}

	@Override
	public User searchByunameandpwd(String uname, String pw) throws Exception {
		String sql = "select * from user where uname = ? and password = ?";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, uname);
		ps.setString(2, pw);
		ResultSet rs = ps.executeQuery();
		User user = null;
		while(rs.next()) {
			user = new User();
			user.setAge(rs.getInt("age"));
			user.setBirthday(rs.getDate("birthday"));
			user.setCartoon(rs.getString("cartoon"));
			user.setGender(rs.getInt("gender"));
			user.setHobby(rs.getString("hobby").split(","));
			user.setId(rs.getInt("id"));
			user.setPassword(rs.getString("password"));
			user.setPhone(rs.getString("phone"));
			user.setUname(rs.getString("uname"));
		}
		
		return user;
	}

	@Override
	public List<User> searchAll() throws Exception {
		String sql = "select * from user";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		List<User> list = new ArrayList<>();
		User user = null;
		while(rs.next()) {
			user = new User();
			user.setAge(rs.getInt("age"));
			user.setBirthday(rs.getDate("birthday"));
			user.setCartoon(rs.getString("cartoon"));
			user.setGender(rs.getInt("gender"));
			user.setHobby(rs.getString("hobby").split(","));
			user.setId(rs.getInt("id"));
			user.setPassword(rs.getString("password"));
			user.setPhone(rs.getString("phone"));
			user.setUname(rs.getString("uname"));
			list.add(user);
		}
		return list;
	}

	@Override
	public String cartoon(String uname) throws Exception {
		String sql = "select cartoon from user where uname = ?";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, uname);
		ResultSet rs = ps.executeQuery();
		String cartoon = null;
		while(rs.next()) {
			
			cartoon = rs.getString("cartoon");
		}
		return cartoon;
	}

	@Override
	public User searchByName(String uname) throws Exception {
		String sql = "select * from user where uname = ?";
		Connection conn = DBTools.getLocalConn();
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, uname);
		ResultSet rs = ps.executeQuery();
		User user = null;
		while(rs.next()) {
			user = new User();
			user.setAge(rs.getInt("age"));
			user.setBirthday(rs.getDate("birthday"));
			user.setGender(rs.getInt("gender"));
			user.setHobby(rs.getString("hobby").split(","));
			user.setId(rs.getInt("id"));
			user.setCartoon(rs.getString("cartoon"));
			user.setPassword(rs.getString("password"));
			user.setPhone(rs.getString("phone"));
			user.setUname(rs.getString("uname"));
		}
		return user;
	}

}
3、com.oracle.service包:
package com.oracle.service;

import java.util.List;

import com.oracle.vo.Message;

public interface MessageService {
	
	   //插入数据
		public boolean addMessage(Message m)throws Exception;
		//获得
		public List<Message> getAll()throws Exception;

}
===============================
package com.oracle.service;

import java.util.List;

import com.oracle.vo.User;

public interface UserService {
	
	//注册
		public boolean register(User user)throws Exception;
		//登录
		public User login(String uname,String pw)throws Exception;
		//获得
		public List<User> getAll()throws Exception;
		public String cartoon(String uname)throws Exception;
		public User searchByName(String uname) throws Exception;

}
4、com.oracle.serviceImpl包:
package com.oracle.serviceImpl;

import java.util.List;

import com.oracle.dao.MessageDao;
import com.oracle.daoImpl.MessageDaoImpl;
import com.oracle.service.MessageService;
import com.oracle.vo.Message;

public class MessageServiceImpl implements MessageService {
    MessageDao messagedao = new MessageDaoImpl();
	@Override
	public boolean addMessage(Message m) throws Exception {
		// TODO Auto-generated method stub
		return messagedao.addMessage(m);
	}

	@Override
	public List<Message> getAll() throws Exception {
		
		return messagedao.searAll();
	}

}
==========================
package com.oracle.serviceImpl;

import java.util.List;

import com.oracle.dao.UserDao;
import com.oracle.daoImpl.UserDaoImpl;
import com.oracle.service.UserService;
import com.oracle.vo.User;

public class UserServiceImpl implements UserService {
    UserDao userdao = new UserDaoImpl();
	@Override
	public boolean register(User user) throws Exception {
		
		return userdao.addUser(user);
	}

	@Override
	public User login(String uname, String pw) throws Exception {
		// TODO Auto-generated method stub
		return userdao.searchByunameandpwd(uname, pw);
	}

	@Override
	public List<User> getAll() throws Exception {
		
		return userdao.searchAll();
	}

	@Override
	public String cartoon(String uname) throws Exception {
		
		return userdao.cartoon(uname);
	}

	@Override
	public User searchByName(String uname) throws Exception {
		
		return userdao.searchByName(uname);
	}

}
5、com.oracle.servlet包:
package com.oracle.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.oracle.service.UserService;
import com.oracle.serviceImpl.UserServiceImpl;
import com.oracle.util.BeanUtil;
import com.oracle.vo.User;



public class UserServlet extends HttpServlet {
	UserService us = new UserServiceImpl();
	private static final long serialVersionUID = 1L;
       
   
    public void init(ServletConfig config) throws ServletException {
    	ServletContext sc = config.getServletContext();//获取servlet上下文,全局可用
    	try {
			List<User> users = us.getAll();
			sc.setAttribute("users", users);
		} catch (Exception e) {
			e.printStackTrace();
		}
    	
    }

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		String flag = request.getParameter("flag");
		if("login".equals(flag)) {
			String un = request.getParameter("uname");
			String pw = request.getParameter("password");
			User user = null;
			try {
				user = us.login(un, pw);
				if(null != user) {
					request.getSession().setAttribute("user", user);
					request.getRequestDispatcher("messageservlet").forward(request, response);
				}
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}else if("checkName".equals(flag)) {
			String un = request.getParameter("uname");
			try {
				User user = us.searchByName(un);
				if(null != user) {
					response.getWriter().write("success");
				}else {
					response.getWriter().write("error");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}else if("register".equals(flag)) {
			
			User user = new User();
			BeanUtil.getBean(user, request);
			try {
				boolean createUser = us.register(user);
				if(createUser) {
					request.getRequestDispatcher("login.jsp").forward(request, response);
				}else {
					request.getRequestDispatcher("register.jsp").forward(request, response);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
			
		}
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		doGet(request, response);
	}

}
====================
package com.oracle.servlet;

import java.io.IOException;
import java.sql.Timestamp;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.oracle.service.MessageService;
import com.oracle.service.UserService;
import com.oracle.serviceImpl.MessageServiceImpl;
import com.oracle.serviceImpl.UserServiceImpl;
import com.oracle.vo.Message;
import com.oracle.vo.User;



public class MessageServlet extends HttpServlet {
	MessageService ms = new MessageServiceImpl();
	UserService us = new UserServiceImpl();
	private static final long serialVersionUID = 1L;

	
	public void init(ServletConfig config) throws ServletException {
		
	}

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		String flag = request.getParameter("flag");
	    if("add".equals(flag)) {
	    	String content = request.getParameter("content");
	    	String toName = request.getParameter("toName");
	    	User u = (User) request.getSession().getAttribute("user");
	    	String toImg = null;
	    	try {
				toImg = us.cartoon(toName);
			} catch (Exception e) {
				e.printStackTrace();
			}
	    	Message m = new Message();
	    	m.setFromImg(u.getCartoon());
	    	m.setFromName(u.getUname());
	    	m.setToImg(toImg);
	    	m.setToName(toName);
	    	m.setContent(content);
	    	try {
				ms.addMessage(m);
			} catch (Exception e) {
				e.printStackTrace();
			}
	    	response.sendRedirect("messageservlet");//只能用重定向
	    	
	    }else {
	    	try {
	    		List<Message> messages = ms.getAll();
	    		request.setAttribute("messages", messages);
	    		
	    		request.getRequestDispatcher("main.jsp").forward(request, response);
	    		
	    	} catch (Exception e) {
	    		
	    		e.printStackTrace();
	    	}
	    	
	    }
		
			
		
		
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		doGet(request, response);
	}

}
6、com.oracle.util包:
package com.oracle.util;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.beanutils.BeanUtils;

public class BeanUtil {
	
	public static Object getBean(Object obj,HttpServletRequest req) {
		try {
			BeanUtils.populate(obj, req.getParameterMap());
		} catch (Exception e) {
			
			e.printStackTrace();
		}
		return obj;
	}

}
==============================
package com.oracle.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DBTools {
	
	public static final String URL = "jdbc:mysql://localhost:3306/info_?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
	public static final String USERNAME = "root";
	public static final String PASSWORD = "root";
	
	
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	  private static ThreadLocal<Connection> local = new ThreadLocal<Connection>();
	  public static Connection getLocalConn() throws Exception {
		  Connection conn = local.get();
		  if(null == conn) {
			  local.set(DBTools.getConn());
			  conn = local.get();
		  }
		return conn;
		  
	  }
	public static Connection getConn() throws Exception {
		Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
		return connection;
	}
	public static void close(Connection conn,PreparedStatement ps,ResultSet rs) {
		try {
			rs.close();
			ps.close();
			conn.close();
		} catch (Exception e) {
			
			e.printStackTrace();
		}
	}
 
}
7、com.oracle.vo包:
package com.oracle.vo;

import java.io.Serializable;
import java.sql.Timestamp;

public class Message implements Serializable{

	
	private static final long serialVersionUID = 1L;
	
	 private Integer id;
     private String fromName;
     private String fromImg;
     private String toName;
     private String  toImg;
     private Timestamp  messDate;
     private String content;
     
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getFromName() {
		return fromName;
	}
	public void setFromName(String fromName) {
		this.fromName = fromName;
	}
	public String getFromImg() {
		return fromImg;
	}
	public void setFromImg(String fromImg) {
		this.fromImg = fromImg;
	}
	public String getToName() {
		return toName;
	}
	public void setToName(String toName) {
		this.toName = toName;
	}
	public String getToImg() {
		return toImg;
	}
	public void setToImg(String toImg) {
		this.toImg = toImg;
	}
	public Timestamp getMessDate() {
		return messDate;
	}
	public void setMessDate(Timestamp timestamp) {
		this.messDate = timestamp;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	@Override
	public String toString() {
		return "Message [id=" + id + ", fromName=" + fromName + ", fromImg=" + fromImg + ", toName=" + toName
				+ ", toImg=" + toImg + ", messDate=" + messDate + ", content=" + content + "]";
	}
     
}
=======================
package com.oracle.vo;

import java.io.Serializable;
import java.sql.Date;
import java.util.Arrays;

public class User implements Serializable{

	
	private static final long serialVersionUID = 1L;
	private Integer id;
	private String uname;
    private String password;
    private Integer gender;
    private Integer age;
    private String phone;
    private Date birthday;
    private String[] hobby;
    private String cartoon;
    
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public Integer getGender() {
		return gender;
	}
	public void setGender(Integer gender) {
		this.gender = gender;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String[] getHobby() {
		return hobby;
	}
	public void setHobby(String[] hobby) {
		this.hobby = hobby;
	}
	public String getCartoon() {
		return cartoon;
	}
	public void setCartoon(String cartoon) {
		this.cartoon = cartoon;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", uname=" + uname + ", password=" + password + ", gender=" + gender + ", age=" + age
				+ ", phone=" + phone + ", birthday=" + birthday + ", hobby=" + Arrays.toString(hobby) + ", cartoon="
				+ cartoon + "]";
	}
    
}
8、css
1)main.css
a {
	text-decoration: none;
}

#mess {
	border: 2px solid white;
	size: 9px;
	width: 600px;
}
textarea{
	position: absolute;
	right: 560px;	
}
img{
	width: 30px;
	height: 30px;
	
}
======================
2)register.css
img {
	width: 40px;
	height: 40px;
}
9、js
1)checkName.js
function checkName(a) {

	var xhr = new XMLHttpRequest();
	// 建立连接
	xhr.open("GET", "userservlet?flag=checkName&uname=" + a, true);
	// 发送请求
	xhr.send();

	var sub = document.getElementById("sub");

	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var b = xhr.responseText;
			if (b == "success") {
				document.getElementById("sp").innerHTML = "<span style='color: green'>√</span>"
				sub.removeAttribute("disabled");
			} else {
				document.getElementById("sp").innerHTML = "<span style='color: red'>×</span>"
				// 让登陆按钮 失效
				sub.setAttribute("disabled", true);
			}
		}
	}
}
10、jsp
1)login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ include file="top.jsp" %>	
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table>
		<form action="userservlet" method="post">
			<input type="hidden" name="flag" value="login">
			<tr>
				<td>用户名:</td>
				<td><input type="text" onblur="checkName(this.value)" name="uname" placeholder="用户名/手机/邮箱"><span id="sp"></span></td>
			</tr>
			<tr>
				<td>密&nbsp;&nbsp;码:</td>
				<td><input type="password" name="password" placeholder="密码"></td>
			</tr>
			<tr>
				<td><input id="sub" type="submit" value="登陆" disabled="disabled"></td>
				<td><a href="register.jsp">注册</a></td>
			</tr>
		</form>
	</table>
</body>
<script type="text/javascript" src="js/checkName.js"></script>
</html>
2)main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="top.jsp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<link rel="stylesheet" href="css/main.css" type="text/css">
<meta charset="UTF-8">
<title>主页</title>
</head>
<body>
<div>
<c:if test="${user != null }">
欢迎${user.uname }<img alt="图片已损坏" src="${user.cartoon }">登录 请留言...
</c:if>
<c:if test="${user == null }">
欢迎来到留言板,留言请<a href="login.jsp">登录</a>
</c:if>
</div>

<hr color="red" size="5px">
<div id="mess">
<c:forEach items="${messages }" var="m">

<img alt="图片已损坏" src="${m.fromImg }">${m.fromName }====>
<img alt="图片已损坏" src="${m.toImg }">${m.toName }:${m.content }${m.messDate }<a href="#">delete</a><br/>


</c:forEach>

</div>
	
	
<hr color="red" size="5px">
<div>
<form action="messageservlet" method="get">
  <input type="hidden" name="flag" value="add">
  发送给
  <select name="toName">
  <c:forEach items="${users }" var="u">
     <c:if test="${user.uname != u.uname}">
     <option value="${u.uname }">${u.uname }</option>
     
     </c:if>
  
  </c:forEach>
  </select>&nbsp;
  颜色: <select>
			<option>红色</option>
			<option>绿色</option>
			<option>蓝色</option>
	</select>
  <br/>
  <textarea rows="10" cols="60" name="content"></textarea><br/>
  <input type="submit" value="留言">
</form>
</div>
</body>
</html>
3)register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="top.jsp"%>
<!DOCTYPE html>
<!-- <input type="image" src="image\2.png">&nbsp; -->
<html>
<head>
<base href="<%=basePath%>">
<link rel="stylesheet" style="text/css" href="css/register.css">
<meta charset="UTF-8">
<title>注册页面··</title>
</head>
<body>
   欢迎注册:
   <form action="userservlet" method="get">
    <input type="hidden" name="flag" value="register"><br/>
       用户名:<input type="text" name="uname" onblur="CheckName(this.value)"><span id="sp"></span><br/>
       密    码:<input type="password" name="password"><br/>
       性    别:<input type="radio" name="gender" value="1">女&nbsp;
                <input type="radio" name="gender" value="0">男<br/>
       年    龄:<input type="text" name="age"><br/>
       手机号:<input type="text" name="phone"><br/>
       生    日:<input type="date" name="birthday"><br/>
       爱    好:<input type="checkbox" name="hobby" value="java">java&nbsp;
                <input type="checkbox" name="hobby" value="oracle">oracle&nbsp;
                <input type="checkbox" name="hobby" value="mysql">mysql&nbsp;
                <input type="checkbox" name="hobby" value="html">html&nbsp;
                <input type="checkbox" name="hobby" value="jsp">jsp<br/>
                
      头     像: <input type="radio" name="cartoon" value="image/1.ico">
              <img alt="图片已损坏" src="image/1.ico">&nbsp;
            <input type="radio" name="cartoon" value="image/01.gif">
              <img alt="图片已损坏" src="image/01.gif">&nbsp;
            <input type="radio" name="cartoon" value="image/02.gif">
              <img alt="图片已损坏" src="image/02.gif">&nbsp;
            <input type="radio" name="cartoon" value="image/03.gif">
              <img alt="图片已损坏" src="image/03.gif">&nbsp;
            <input type="radio" name="cartoon" value="image/05.gif">
              <img alt="图片已损坏" src="image/05.gif">&nbsp;
            <input type="radio" name="cartoon" value="image/06.gif">
              <img alt="图片已损坏" src="image/06.gif">&nbsp;<br/>
            <input type="submit" value="注册" >&nbsp;
            <input type="reset" value="重置"><br/>
   </form>
</body>
<script type="text/javascript">
function CheckName(a){
	 //需要 使用 ajax完成 局部刷新 技术 , 首先必须 创建 XMLHttpRequest对象
	             var xmlhttp = new XMLHttpRequest();
	           //建立连接
	             xmlhttp.open("GET","userservlet?flag=checkName&uname="+a,true);// 与 ajax 引擎  建立 连接
	           //发送请求
	             xmlhttp.send();  //发送
	           //获取响应
	           
	             xmlhttp.onreadystatechange = function(){
	            	 if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
	            		 var b = xmlhttp.responseText;//这就是我 响应的结果
	            		 if(b == "success"){
	            			 document.getElementById("sp").innerHTML = "<span style='color: red'>×</span>";
	            			      			 
	            		 }else{
	            			 document.getElementById("sp").innerHTML = "<span style='color: green'>√</span>";
	            			
	            		 }
	            		 
	            		 
	            	 }
					
				}
}

</script>
</html>
4)top.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
     String path = request.getContextPath();
     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值