一、编写表单提交的JSP页面login.jsp
<%@ 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%>">
<!-- 设置网页不缓存 -->
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<title>filterTest</title>
<script type="text/javascript">
var checkSubmitFlg = false;
function submitValidate(){
if(checkSubmitFlg == true){
return false;
}
checkSubmitFlg = true;
return true;
}
//设置点击之后,浏览器不能再对点击做出事件反应
//document.onclick = function doconclick(){
// window.event.returnValue=false;
//}
</script>
</head>
<body>
<form action="servlet/LoginServlet" method="post" >
username:<input type="text" id="username" name="username"/><br>
password:<input type="password" id="password" name="password"/><br>
<!-- 请输入验证码:<input type="text" name="code" id="code" /><img src=""/> -->
<input type="hidden" name="key" value="key"/>
<!-- 设置一个主题topic,用于记录session中是否还有该值 -->
<input type="button" value="提交" onclick="<%session.setAttribute("topic_add","topic_add"); %>;this.form.submit()" />
</form>
<!-- <h1>欢迎:<span style="color=red"><%=session.getAttribute("username")%></span></h1> -->
</body>
</html>
二、编写Servlet,LoginServlet.java
package com.test.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet {
public LoginServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String key = request.getParameter("key");
if(isRedo(request,key)){
request.getSession().setAttribute("key", key);
this.getServletContext().getRequestDispatcher("/resultLogin.jsp").forward(request, response);
}else{
// System.out.println("resubmit..");
response.sendRedirect("../resubmit.jsp");
}
}
public void init() throws ServletException {
// Put your code here
}
public boolean isRedo(HttpServletRequest request,String key){
String value = (String)request.getSession().getAttribute(key);
if(value == null){
return true;
}else{
request.getSession().removeAttribute(key);
return false;
}
}
}
三、登录成功页面resultLogin.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'resultLogin.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h1>登录结果页面</h1>
username::<%=request.getParameter("username") %><br>
password::<%=request.getParameter("password") %>
</body>
</html>
四、重复提交提示页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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 'resubmit.jsp' starting page</title>
</head>
<body>
<h1>Re Submt!!!!!!!!!</h1>
</body>
</html>
分享到:
相关推荐
本项目“servlet+jsp+mysql在线投票系统”综合运用了Servlet、JSP和MySQL等核心技术,构建了一个完整的Web应用,涵盖了用户身份验证、数据存储、业务逻辑处理等多个方面,同时也涉及到了网络安全和数据库管理的重要...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
在Java Web开发中,我们可以使用Servlet和JSP来实现一个简单的图形验证码。以下将详细介绍如何利用这两个技术进行验证码的实现。 首先,理解验证码的基本原理:验证码是一种通过图像显示随机字符或数字的方式,用户...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
这个项目显然基于MVC(Model-View-Controller)设计模式和三层架构思想,旨在创建一个用户注册系统,具备安全特性如防止表单重复提交和一次性验证码。 首先,MVC设计模式是一种软件设计模式,它将应用程序分为三个...
使用源生态Servlet+JSP+sqlserver实现登录、注册、文章增删改查功能,并解决增加文章重复提交问题,通过此小程序可以学习到普通动态网站前后台之间的关系,适合初学者学习。数据库也可以是Mysql,需要更换驱动程序。
6. 用户与JSP交互,提交表单或点击链接,触发新的请求,重复以上流程。 【学习重点】 - JSP语法:理解指令、脚本元素和动作标签的使用。 - Servlet生命周期:了解Servlet的加载、初始化、服务和销毁过程。 - JDBC...
在Java Web开发中,Servlet和JSP是两个关键的组件,它们经常被用来构建动态网站应用,包括文件的上传和下载功能。在这个“servlet+jsp上传下载”项目中,我们将探讨如何使用这两种技术实现这一功能,这对于初学者...
7.由于是第一次做网站,且时间比较紧(这段时间期末考试),所以对于一些细节问题,如防止表单重复提交、某些页面的访问权限控制(基本的访问权限控制已经实现,但是有些比如像俱乐部服务员可以不登陆直接通过URL...
【标题】"登录和注册(jsp+servlet+JavaBean)"涉及的是Web开发中的基础认证机制实现,主要使用了JavaServer Pages (JSP)、Servlet和JavaBeans技术。这些技术是构建动态网页应用的重要组成部分,特别是在传统的MVC...
然后,我们将项目导入到Web服务器(如Tomcat),这个"web项目"包含了Servlet和JSP文件,它们是Java Web应用的主要组成部分。最后,我们通过访问"show.jsp"来启动和展示投票界面及结果。 **Servlet**:Servlet是Java...
而当需要改变URL或者避免重复提交时,会选择使用Response.sendRedirect()进行重定向。 **请求参数与会话管理**:在处理用户请求时,Servlet可以从请求对象中获取参数,例如通过request.getParameter()。对于需要跨...
在这个"Mvc下servlet+jsp做的shoppingcart"项目中,我们主要关注以下几个核心知识点: 1. **MVC模式**:MVC是一种软件设计模式,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。...
【简易JSP + Servlet 投票系统】是一个基于Web的应用程序,主要利用Java服务器页面(JSP)和Servlet技术来构建。在这个系统中,用户可以进行在线投票,选择不同的选项,而系统则负责记录和展示投票结果。接下来,...
【Java Web项目:Servlet + JSP 实现的网上在线报名系统】 在信息技术高速发展的今天,Web应用程序已经成为企业和个人日常工作中不可或缺的一部分。Java Web项目利用Servlet和JSP技术构建的在线报名系统,为用户...
在本文中,我们将深入探讨如何使用Servlet和JSP实现一个简单的图片上传并显示的功能。Servlet是一种Java编程技术,常用于扩展服务器的功能,处理HTTP请求,而JSP(JavaServer Pages)则是一种动态网页技术,可以方便...
在IT行业中,`JSP(JavaServer Pages)`、`Servlet`和`JavaBean`是构建Web应用程序的常用技术,特别是在传统的MVC(Model-View-Controller)设计模式下。这个"jsp+servlet+javabean留言管理小例子加分页功能"是一个...
总的来说,“简易投票系统jsp+servlet+javabean”项目是一个典型的Java Web开发实例,涵盖了前端交互、后端处理以及数据管理的核心技术,对于学习和理解Java Web开发具有很好的实践价值。通过这个项目,开发者可以...