以下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. 二、MongoDB基础知识

    1.文档是MongoDB的核心概念.文档就是键值对的一个有序集{'msg':'hello','foo':3}.类似于python中的有序字典. 需要注意的是: #1.文档中的键/值对是有序的. #2. ...

  2. 【软件project】 文档 - 银行业务管理 - 需求分析

    ---------------------------------------------------------------------------------------------------- ...

  3. treap-名次树-树堆

    #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; struc ...

  4. 2013腾讯编程马拉松初赛第〇场(HDU 4504)威威猫系列故事——篮球梦

    http://acm.hdu.edu.cn/showproblem.php?pid=4504 题目大意: 篮球赛假如我们现在已经知道当前比分 A:B,A代表我方的比分,B代表对方的比分,现在比赛还剩下 ...

  5. 应用Python来计算排列中的逆序数个数

    在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数.一个排列中所有逆序总数叫做这个排列的逆序数.也就是说,对于 ...

  6. 关于 /etc/zabbix/zabbix_agentd.conf 文件 Hostname 文件的说明

    前提 (1) /etc/hosts 文件如下 [root@testdb ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain loc ...

  7. [RxJS] Multicasting shortcuts: publish() and variants

    Because using multicast with a new Subject is such a common pattern, there is a shortcut in RxJS for ...

  8. css3-12 transition+css或transform实现过渡动画

    css3-12 transition+css或transform实现过渡动画 一.总结 一句话总结:首先要设置hover后的效果,然后在transition里面指定执行哪些样式和执行时间为多长. 1. ...

  9. FreeMarker分页组件监听器

    分页组件监听器 /*  * project名:    * 包     名: com.companyName.dhm.iepgm.common.taglib  * 文 件名: PaginatedList ...

  10. Nutch的日志系统 分类: H3_NUTCH 2015-02-17 20:14 261人阅读 评论(0) 收藏

    一.Nutch日志实现方式 1.Nutch使用slf4j作为日志接口,使用log4j作为具体实现.关于二者的基础,请参考 http://blog.csdn.net/jediael_lu/article ...