以下jsp中,未使用样式表对网页进行排版和表单的验证(每个jsp的表单填写的时候应该进行空值与空格的验证,防止提交时出错)

所有错误,链接到error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陆界面</title>
</head>
<body>
用户登录
<br />
<form action="verify.jsp" method="post">
用户名<input type="text" name="username" /><br /> 密码<input
type="password" name="pwd" /><br /> <input type="submit" /> <a
href="register.jsp"><input type="button" value="注册" /></a>
</form> </body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陆验证界面</title>
</head>
<body>
<%
//判断输入用户名为空时,跳转至错误页面
if (request.getParameter("username") == null) {
%>
<jsp:forward page="error.jsp" /> <%
}
//取得输入的用户名
String name = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");
//判断用户名是否已经存在,存在的话,继续判断密码是否一致
if (application.getAttribute(name) != null) {
String storeName = application.getAttribute(name).toString();
String[] stores = storeName.split("#");
String inputPwd = request.getParameter("pwd");
String pwd = stores[1];
if (pwd.equals(inputPwd)) {//密码是否一致
String date = stores[2];
session.setAttribute("name", name);
%>
<%=name%>登陆成功
<br /> 注册时间<%=date%><br /> 5秒后跳转至留言界面
<%
response.setHeader("refresh", "5;URL=message.jsp");
%> <%
}
} else {//否则跳转
%> 登陆失败
<br /> 5秒后跳转至登陆界面<%
response.setHeader("refresh", "5;URL=index.jsp");
%>
<%
}
%> </body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册界面</title>
</head>
<body>
<form method="post" action="success.jsp">
用户名<input type="text" name="username" /><br /> 密码<input
type="password" name="pwd" /><br /> 确认密码<input type="password" /><br />
<input type="submit" value="注册" /><br /> </form> </body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册验证界面</title>
</head>
<body> <%
//判断输入用户名为空时,跳转至错误页面
if (request.getParameter("username") == null) {
%>
<jsp:forward page="error.jsp" /> <%
}
//取得输入的用户名
String name = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");
//取得输入的密码
String pwd = request.getParameter("pwd");
//取得服务器中是否已经存在此用户名,如果不存在进行注册录入数据
if (application.getAttribute(name) == null) {
//保存用户信息
String userInfo = name + "#" + pwd + "#" + new Date();
//将用户信息保存在服务器
application.setAttribute(name, userInfo);
//并且设置当前登陆会话
session.setAttribute("name", name);
%>
注册成功
<br /> 注册名:<%=name%><br /> 时间:<%=new Date()%><br /> 5秒后跳转至留言界面
<%
response.setHeader("refresh", "5;URL=message.jsp");
%>
<%
} else {//如果用户名已经存在则跳转
out.print("注册失败,用户名重复");
%>
<br />5秒后跳转至登陆界面
<%
response.setHeader("refresh", "5;URL=index.jsp");
%>
<%
}
%> </body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>留言界面</title>
</head>
<body>
<form method="post" onsubmit="return checkFlag()">
<textarea cols="20" rows="5" name="mes">
这里请添加留言
</textarea>
<br /> <input type="submit" />
</form>
<br /> 实时留言信息
<br />
<%
String mes = request.getParameter("mes");
Object name = session.getAttribute("name");
List<String> list = new ArrayList<>();
//session判断用户名为空时,跳转至错误页面
if (name == null) {
%>
<jsp:forward page="error.jsp" />
<%
}
//首先判断留言信息是否为空,防止没有留言时报空指针异常
if (application.getAttribute("mes") != null) {
list = (List<String>) application.getAttribute("mes"); if (mes == null) {
for (String str : list) {
out.print(str + "<br/>");
}
} else if (mes != null) {
response.sendRedirect("message.jsp");//这里加入一个页面重定向,防止页面刷新时重新提交表单
list.add(0, name + ":" + new String(mes.getBytes("iso-8859-1"), "utf-8") + " 时间:" + new Date());
application.setAttribute("mes", list);
for (String str : list) {
out.print(str + "<br/>");
}
}
} else if (mes != null) {//否则,判断留言是否为空,直接将当前留言存入客户端,直接输出
response.sendRedirect("message.jsp");
list.add(0, name + ":" + new String(mes.getBytes("iso-8859-1"), "utf-8") + " 时间:" + new Date());
application.setAttribute("mes", list);
for (String str : list) {
out.print(str + "<br/>");
}
}
%> </body>
<script>
<!--此脚本对页面刷新取消提交,自测无效,应该是浏览器自己的设置-->
var flag = false;
function checkFlag() {
if (flag == true) {
return false;
}
flag = true;
return true; }
</script>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>错误界面</title>
</head>
<body>
非法接入
<br /> 5秒后跳转至登陆页面
<%
response.setHeader("refresh", "5;URL=index.jsp");
%>
</body>
</html>

  

使用jsp,tomcat实现用户登录注册留言的代码的更多相关文章

  1. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  2. 纯JSP实现用户登录注册,记事本

    没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser ...

  3. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  4. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  5. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  6. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  8. JavaWeb_(session和application)用户登录注册模板_进阶版

    用户登录注册模板_基础版 传送门 用户登录注册模板进阶版 添加了获得获得当前登录用户信息及存储登录人数 用户登录后,在首页.注册页.登录页显示登录用户信息和存储登录人数信息 目录结构 <%@pa ...

  9. JavaWeb_(request和response)用户登录注册模板_基础版

    用户登录注册模板进阶版 传送门 用户登录注册模板基础版 登录:当用户登录成功时,跳转到personCenter.jsp,当用户登录失败时,跳转到login.jsp并给出提示 注册:当用户注册成功时,跳 ...

随机推荐

  1. visual studio code 中 debugger for chrome 插件的配置

    安装 debugger for chrome 插件后,把默认的 launch.json 改成: { "name": "谷歌浏览器", "type&qu ...

  2. P2P平台项目建设几点注意事项

    种选择 a.资金池,接入第三方支付,财付通,宝付等,比如一起好 b.第三方资金托管,易宝支付.汇付天下等 c.银行存管,资金放在银行 资金池政策风险,不得不考虑. 每一种模式,技术实现都有变化,需要考 ...

  3. 原生js大总结十

    91.ajax的优点     a.提高运行效率   b.提高用户体验,让多件事情同时发生   c.在不刷新页面的情况下可以对局部数据进行加载和刷新       92.ajax请求的流程   1.创建通 ...

  4. 洛谷 P2430 严酷的训练

    P2430 严酷的训练 题目背景 Lj的朋友WKY是一名神奇的少年,在同龄人之中有着极高的地位... 题目描述 他的老师老王对他的程序水平赞叹不已,于是下决心培养这名小子. 老王的训练方式很奇怪,他会 ...

  5. 【习题 3-7 UVA - 1368 】DNA Consensus String

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举每一位字母是什么. 从小到大枚举. 然后计算每一位的总贡献是多少. 取最小的那个输出. [代码] #include <bi ...

  6. 【Codeforces Round #434 (Div. 2) B】Which floor?

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] 枚举每层有多少个公寓就好. 要注意,每次都要从1到100判断,一下那个公寓该不该出现在那一层. 多个答案,如果答案是一样的.也算是唯一的.  ...

  7. Python中的Sets数据结构

    Python的set和其他语言类似,是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.集合对象支持union(联合),intersection(交),difference(差)和sysmme ...

  8. asp.net获取客户真实ip非代理ip:

    public string GetUserIP()   {       string _userIP;       if(Request.ServerVariables["HTTP_VIA& ...

  9. Vertx简介

    今天看了一篇很不错的关于Vertx的简介,转载下. 原文链接:http://www.csdn.net/article/2015-12-21/2826533?utm_source=tuicool& ...

  10. Unity插件之NGUI学习(5)—— 创建Label图文混排及文字点击

    创建一个新的Scene,并按 Unity插件之NGUI学习(2)创建UI Root. 准备工作,制作Font.如今Project窗体创建一个Font目录.然后从系统自带字体目录中选择自己须要的字体,我 ...