用html和jsp怎么做登陆注册页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用html和jsp怎么做登陆注册页面相关的知识,希望对你有一定的参考价值。

jsp语言只是嵌套了服务器端脚本语言,去掉的话和html一样。写代码的话只是在html中写好,套入jsp中就ok 参考技术A <!DOCTYPE html>
<html>
<head>
<title>hanyu.html</title>
<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<style type="text/css">
table td
border: none;

</style>
<script type="text/javascript">
function check_input()

var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var confirm = document.getElementById("confirm").value;
var email = document.getElementById("email").value;
var phone = document.getElementById("phone").value;
var birthday = document.getElementById("birthday").value;
var gender; //性别
//“^”是代表以什么开头,“$”是代表以什么结尾。比如:/^\dA$/ //这个就匹配,以数字开头,并且一大写字母A结尾的字符串。
//var reg_username = /[A-Za-z][A-Za-z0-9_]6,16/;
var reg_username = /^[a-zA-Z][a-zA-Z0-9]5,16$/;
var reg_password = /^[a-zA-Z0-9_]6,12$/;
var reg_mail = /^\w+@\w+(\.[a-zA-Z]2,3)1,2$/;
var reg_phone = /^1\d10$/;
var reg_birthday = /^([12]\d3)-(([1-9])|(1[012])|(0[1-9]))-(([1-9])|([12]\d)|(3[01]))$/;
//身份证校验: reg=/\d17[0-9xX]/ 前17位为数字第18位为数字或者字母X或x
if(!reg_username.test(username)) //用户名判断

alert("用户名输入有误,只能是字母数字下划线,6-16位");

else if(!reg_password.test(password))

alert("密码输入有误,只能是字母数字下划线6-12位");

else if(confirm != password)

alert("两次密码输入的不一致");

else if(!reg_mail.test(email))

alert("邮箱输入有误")

else if(!reg_phone.test(phone))

alert("手机号输入有误");

else if(!reg_birthday.test(birthday))

alert("日期输入不正确");

else if(!checkGender())

alert("请选择性别");
else if(!checkHobbys())

alert("请至少选择一项兴趣");

else

var gender = getGender();
var interests = getInterest();
var city = getCity();
var date = new Date();
alert("注册成功");
document.write("<h1>欢迎您, "+username+"</h1><br/>");
document.write("用户名: "+username+"<br/>");
document.write("密码: "+password+"<br/>");
document.write("邮箱: "+email+"<br/>");
document.write("手机: "+phone+"<br/>");
document.write("出生日期:"+birthday+"<br/>");
document.write("性别: "+gender+"<br/>");
document.write("兴趣: "+interests+"<br/>");
document.write("城市: "+city+"<br/>");
document.write("注册时间:"+date.toLocaleString()+"<br/>");


//性别检测
function checkGender()

var man = document.getElementById("man");
var women = document.getElementById("women")
if(man.checked || women.checked)

return true;
else

return false;


//性别检测另一种方法
function checkSex()

//获取页面中同名的元素,返回一个元素数组
var gender = document.getElementsByName("gender");
//gender.length获取数组的长度
//循环获取当前选中状态的性别的值
for(var i =0;i<gender.length;i++)

//判断某项的checked是否被选中,选中返回true
if(gender[i].checked)

alert(gender[i].value);
break;



//兴趣检测
function checkHobbys()

var interests = document.getElementsByName("interest");
var flag = false;
//只要有兴趣项被选中即可
for(var i=0;i<interests.length;i++)

if(interests[i].checked)

flag =true;


return flag;

//获取选中的性别
function getGender()

var man = document.getElementById("man");
var women = document.getElementById("women")
if(man.checked)

return man.value;
else if(women.checked)

return women.value;
else

return "";


//获取选中的爱好选项
function getInterest()

var result="";
var interests = document.getElementsByName("interest");
for(var i=0;i<interests.length;i++)

if(interests[i].checked)

result+=interests[i].value+" ";


return result;

//获取选中的城市
function getCity()

var city="";
var citys = document.getElementById("city");
for(var i=0;i<citys.length;i++)

if(citys[i].selected)

city = citys[i].text;


return city;

//产生测试数据
function Generate_data()

document.getElementById("username").value = "QQ764073542";
document.getElementById("password").value = "SoftStar";
document.getElementById("confirm").value = "SoftStar";
document.getElementById("email").value = "QQ764073542@163.com";
document.getElementById("phone").value = "15194070000";
document.getElementById("birthday").value = "2015-11-11";
document.getElementsByName("gender")[0].checked = "checked";
document.getElementsByName("interest")[0].checked = "checked";
document.getElementsByName("interest")[1].checked = "checked";
document.getElementById("city").text = "山东";
//document.getElementById("usernameSpan").innerHTML = "格式要求2";

</script>
</head>
<body>
<form>
<table border="1" width="60%" align="center" cellpadding="5"
cellspacing="0">
<tr>
<td width="20%">用户名:</td>
<td><input type="text" name="username" id="username">字母数字下划线[6-16位],字母开头<span
id="usernameSpan"></span></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" id="password">字母数字下划线[6-12位]<span
id="passwordSpan"></span></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="confirm" id="confirm"><span
id="confirmSpan"></span></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" name="email" id="email"><span
id="emailSpan"></span></td>
</tr>
<tr>
<td>手机:</td>
<td><input type="text" name="phone" id="phone"><span
id="phonelSpan"></span></td>
</tr>
<tr>
<td>出生日期:</td>
<td><input type="text" name="birthday" id="birthday">例如:2015-8-8<span
id="birthdaySpan"></span></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" id="man" name="gender" value="male">男<input
type="radio" id="women" name="gender" value="female">女<span
id="genderSpan"></span></td>
</tr>
<tr>
<td>兴趣:</td>
<td><input type="checkbox" name="interest" value="java">Java
<input type="checkbox" name="interest" value="HTML">HTML <input
type="checkbox" name="interest" value="javascript">JavaScript<span
id="interestSpan"></span></td>
</tr>
<tr>
<td>城市:</td>
<td><select id="city">
<option value="sd">山东</option>
<option value="sh">上海</option>
<option value="bj">北京</option>
<option value="gz">广州</option>
<option value="cd">成都</option>
<option value="qt">其他</option>
</select> <span id="citySpan"></span></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button"
onclick="check_input()" value="新用户注册"> <input type="button"
onclick="Generate_data()" value="产生测试数据"></td>
</tr>
</table>
</form>
</fieldset>
</body>
</html>

怎么用java-web获得当前登录此页面人的列表

session中存放的数据只有持有这个sessionid的登陆用户自己能够看到。 
application中存放的数据所有的登陆用户都可以看到。 

1. 
如果要在页面中看到所有登陆用户的信息的话,必须在每个用户登陆成功以后,把该用户信息存入application中。然后在jsp页面上把application中存放的所有用户列表取出来,显示在画面上,这样返回给客户端的页面上就能看到所有的登陆用户列表。 

大致的代码如下: 

MyServlet.java 

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 

String userName = request.getParameter("username");
ServletContext application = req.getServletContext();
ArrayList loginList = (ArrayList)application.getAttribute("loginlist");
if(loginList == null)
  loginList = new ArrayList();
  application.setAttribute("loginlist",loginList);

loginList.add(userName);
req.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(req,resp);

main.jsp 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:forEach var="name" items="$loginlist">
  <c:out value="$name" /> <br>
</c:forEach>

2.如果只是想在页面上看到自己的登陆信息的话,需要使用session,把登陆信息存入session中,然后jsp页面从session中取出登陆用户信息,显示在画面上。 

MyServlet.java: 

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 

String userName = req.getParameter("username");

HttpSession session = req.getSession(); 
session.setAttribute("username",userName);
req.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(req,resp);

main.jsp 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  $username
参考技术A 每登陆一个人 , 就将登陆的人的名字 写入application
然后在页面展示就可以了
参考技术B 你是说获取当前登陆这个页面的人的名字么?还是说所有登陆这个页面人的列表(这个我是不会)?当前登录人数我还是知道的。 参考技术C 你是说获取当前登陆这个页面的人的名字么?还是说所有登陆这个页面人的列表(这个我是不会)?当前登录人数我还是知道的。本回答被提问者采纳

以上是关于用html和jsp怎么做登陆注册页面的主要内容,如果未能解决你的问题,请参考以下文章

JSP编写登录页面问题

用servlet做一个简单登录,页面用jsp

JSP编写一个登陆界面

html登录页面怎么做

怎么用java-web获得当前登录此页面人的列表

注册/登陆页面HTML代码该怎么写?