首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

停止在页面重新加载时将表单的以前数据提交到jsp中的DB

在页面重新加载时,表单的以前数据不会自动提交到JSP中的数据库。页面重新加载会导致当前页面的状态丢失,包括表单中的数据。如果需要将表单数据提交到JSP中的数据库,需要通过以下步骤实现:

  1. 在前端页面中,使用JavaScript或其他前端框架监听表单提交事件,并阻止默认的表单提交行为。
  2. 在监听到表单提交事件后,通过AJAX技术将表单数据发送到后端。
  3. 在后端的JSP页面中,接收表单数据,并进行相应的处理,如数据校验、存储到数据库等操作。

下面是一种实现方式的示例代码:

前端页面(HTML或JSP):

代码语言:txt
复制
<form id="myForm">
  <!-- 表单内容 -->
  <input type="text" name="name" />
  <input type="email" name="email" />
  <!-- 其他表单字段 -->
  
  <button type="submit">提交</button>
</form>

<script>
  document.getElementById("myForm").addEventListener("submit", function(event) {
    event.preventDefault(); // 阻止表单默认提交行为
    
    var formData = new FormData(this); // 获取表单数据
    
    // 发送AJAX请求
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "saveData.jsp", true);
    xhr.onreadystatechange = function() {
      if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        // 请求成功处理
        console.log(xhr.responseText);
      }
    };
    xhr.send(formData);
  });
</script>

后端JSP页面(saveData.jsp):

代码语言:txt
复制
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.sql.*" %>

<%
  // 获取表单数据
  String name = request.getParameter("name");
  String email = request.getParameter("email");
  // 其他表单字段的获取
  
  // 数据库存储操作
  Connection conn = null;
  PreparedStatement stmt = null;
  try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password");
    String sql = "INSERT INTO mytable (name, email) VALUES (?, ?)";
    stmt = conn.prepareStatement(sql);
    stmt.setString(1, name);
    stmt.setString(2, email);
    // 其他字段的设置
    
    stmt.executeUpdate();
    
    out.println("数据保存成功!");
  } catch (Exception e) {
    out.println("数据保存失败:" + e.getMessage());
  } finally {
    if (stmt != null) {
      stmt.close();
    }
    if (conn != null) {
      conn.close();
    }
  }
%>

上述示例代码中,前端页面使用JavaScript监听表单的提交事件,并通过AJAX将表单数据发送到后端的JSP页面。后端JSP页面接收表单数据,并进行数据库存储操作。这只是一个简单的示例,实际应用中可能需要进行更多的数据校验、错误处理等操作。

腾讯云提供了多个与云计算相关的产品,如云服务器、云数据库、云存储等。具体推荐的产品取决于实际需求和场景。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Struts2【拦截器】

因为我们启动服务器时候会自动装载这个文件,因此我们才可以Action中使用到Struts为我们提供功能【数据自动封装…文件上传】 struts-default.xml定义拦截器就有32个之多...这里写图片描述 ---- 拦截器应用案例 需求:当用户登陆成功,跳转到显示用户JSP页面。当用户登陆失败,重新返回登陆界面。如果用户直接访问显示用户JSP页面,那么返回到登陆界面 ?...,也就是说,当页面加载得太久了,就跳转到对应提示页面…当服务器执行完毕了,也跳转到相对应页面 Struts2防止表单重复提交拦截器 回顾防止表单重复提交 当我们学习Session时候已经通过Session...来编写了一个防止表单重复提交小程序了,我们来回顾一下我们当时是怎么做Servlet上生成独一无二token,保存在Session域中,并交给JSP页面 JSP页面提交表单数据时候,把token...上面我们已经完成了大部分功能了,但当我们如果提交之后,再刷新页面,那么表单数据就会重复提交…我们使用Struts2我们提供防止表单重复提交功能把!

84950

&#127538;Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】

如果用户登录不成功会提示你重新登陆,此时点击重新登录的话,回到此页面的时候是记忆了上次输入用户名; 五、登陆验证页面login_validate.jsp 文件内容如下: <%@page import=...request是jsp内置对象,使用它getParameter()函数可以获得提交页面提交上来信息,“username1”和“password1”是login.jspform表单text和password...86-89行写了一个form表单属性,$(param.username1)也可以获取username1值,为了重新登录时候保留用户名,将它存在input里面,type="hidden"可以使它隐藏...之后id编码后赋值给username1传递到index.jsp页面,编码是必须,否则会遇到中文乱码。...选择Tomcat运行login.jsp即可在浏览器显示效果。在这里我再附上我数据库结构: 使用SQLlog连接数据库后可以查看自己数据库详细信息。

1K10

JavaWeb15-DBUtils(Java真正全栈开发)

添加商品页面是 admin/products/add.jsp 2. 当输入商品信息,应该信息提交到一个servlet(AddProductServlet) 3....案例-查询全部商品分析 功能描述 点击left.jsp页面商品查看,展示出所有商品信息 分析 步骤: 1.修改left.jsp页面路径 点击商品查看,就会访问ListProductServlet...ps)请求转发到admin/products/list.jsp页面 4.list.jsp页面上显示出ps集合商品信息。...我们开发,一般进行修改时,表单中都会存在一个隐藏域。 a. .edit.jsp页面上添加一个隐藏域,它用于保存商品id. b....表单交到EditProductServlet,通过BeanUtils数据封装到Product 对象,调用ProductServcie修改操作方法 c.

76850

JSP内置对象

页面与包括同一应用程序任何Web组件共享信息 config javax.servlet.ServletConfig page 该对象允许初始化数据传递给一个JSP页面 exception java.lang.Throwable...-1"),"utf-8"); 2.获取表单提交信息乱码 当获取表单交到信息,通过request对象获取到中文参数值为乱码,此时可以page指令下方加上调用request对象setCharacterEncoding...类型,转发后页面数据,就通过这个变量名来获取数据。...6.application应用对象 application对象用于保存所有应用程序公有数据。他服务器启动自动创建,服务器停止销毁。...对象 exception对象用来处理JSP文件执行时发生所有错误和异常,只有page指令设置isErrorPage属性值为true页面才可以被使用,一般JSP页面中使用该对象无法编译JSP

1.3K40

jsp web应用开发_JSP页面

JDBC程序代码模块 1) 把JDBC驱动类装载入Java虚拟机。 Class.forName(“JDBC驱动类名称”) 2) 加载驱动,并与数据库建立 连接。...JSP页面组成 JSP是通过HTML嵌入Java脚本语言来响应页面动态请求。 JSP页面由静态内容、指令、表达式、小脚本、声明、标准动作、注释等元素构成。...JSP脚本元素 JSP页面可以包含静态内容、指令、表达式、小脚本、声明、标准动作以及注释。...action表示表单要提交到地点 method表示表单发送方法。一般用post 二、JSP内置对象 1....) 获取一个页面表单组件对应多个值用户请求数据 void setCharacterEncoding(String charset) 指定每个请求编码,调用request.getParameter

17K20

Servlet详细教程

Servlet作用 servlet刚刚出现那个年代,servlet作用十分复杂,既承担着处理数据作用,又承担着展示页面的作用,美工人员想要参与开发,基本上是不太现实,毕竟美工不可能再去花时间页面做好...停止服务器或者重新部署web应用时销毁servlet对象,同样也是调用一次 一个简单例子 好了,讲了这么多,你一定是跃跃欲试了,我们就用一个登录控制例子来简单看一下servlet开发步骤....方法可以获取到提交表单内容呢?...这个很好解释,因为前端使用post或者get方法表单信息提交到servlet时候,表单信息封装成了request对象,这样就可以获取到了.值得注意是,表单name字段,就是我们获取值根据....最后一个可能存在疑问位置就是这里 //页面转发到欢迎页面 RequestDispatcher requestDispatcher = request.getRequestDispatcher("/welcome.jsp

87841

Spring MVC-01循序渐进之Model 2和MVC

第三个示例则引入了验证控件来检验用户输入 ---- 模型1和模型2 还记得初次学习JSP,通常通过链接方式进行页面之间跳转,非常直接,但是如果一个JSP页面修改了名称,大中型项目中会带来很大维护问题...Spring MVC 和 Struts1送Servlet作为控制器,而Struts2则使用一个Filter作为控制器。 大部分视图都采用JSP作为应用视图,当然也有其他技术。...举个简单例子: 添加产品,需要两个action 显示“添加产品”表单,以便用户输入信息 表单信息保存到数据 如上所述,我们需要通过URI方式告诉控制器来执行相应action, 比如通过 http...控制器会解析URI并调用对应Action,然后模型对象放到视图可以访问区域(以便服务端数据可以展示浏览器上),最后,控制器利用RequestDispatcher跳转到视图(JSP页面),用表达式语言以及定制标签来显示数据...另外一个原因是:当数据校验失败表单对象将用于保存和展示原始表单输入。

34940

Session、Cookie 学习笔记

如果所浏览以前所浏览过那么就需要将此商品更新到最新记录,即最后一个,演示如下 ?   ...础程序可以设置 cookie(JSESSIONID)持久化,保证重启浏览器不会重新发送    5). HttpSession 生命周期之创建 Session             a....表单交到一个 servlet,而 servlet 又通过请求转发方式响应一个 jsp 页面,此时地址栏里面还保留着 servlet 路径。响应页面点击 “刷新”       2). ...表单做一个标记,提交到 Servlet ,检查标记是否存在且是否和预定义一致,若一致则受理,并销毁,若不一致或没有标记则响应消息重复提交   代码如下: index.jsp 1 <%@ page...表单页面,生成一个验证码图片,生成图片同时将其字符放入到 session ;       b. 表单页面,定义一个文本域,用于输入验证码       c.

1.3K50

Spring 全家桶之 Spring Web MVC(六)- AJAX & Fileupload

Tomcat,浏览器输入http://localhost:8080/list_by_json 浏览器显示了所有员工数据,并以JSON格式进行展示 @JsonIgnore @JsonIgnore注解可以某些属性转换成...JSON格式数据进行忽略,Employee实体类Department属性上增加@JsonIgnore注解 public class Employee { // 其余代码保持不变 @JsonIgnore...,浏览器输入http://localhost:8080/emps.jsp, 点击页面的超链接,即可获取所有员工数据 @RequestBody注解 @RequestBody注解可以直接获得请求体,...,浏览器进入到http://localhost:8080/post.jsp, 点击提交按钮 请求数据被打印控制台中 post.jsp页面增加一个ajaxpost请求 使用Ajax发送...值为:" + username); return "forward:/upload.jsp"; } 重新启动应用,浏览器打开upload.jsp页面 表单输入内容,并点击提交 页面提示文件上传成功

1.2K20

JSP 防止网页刷新重复提交数据

4  5 JSP页面的FORM表单添加一个...修改struts-config.xml 文件, action里面有一个redirect重新定向属性,struts默认是false,添加这个属性,改成true,forword写上要跳转页面的绝对或者相对地址就行了...由于浏览器不再缓存这个页面,当用户点击后退按钮浏览器重新下载该页面,此时程序就可以检查那个会话变量,看看是否应该允许用户打开这个页面。        ...= "no-cache"     清除缓存 3、也有人这样说:我以前也碰到过这样问题,是分步提交中一个人简历,写完第一个页面后跳到第二个页面,为了防止用户用后退返回到第一个页面,再重新提交第一个页面...,我是当用户提交第一次提交第一个页面,把插入数据记录自增长id号放到session里,当用户从第二个页面返回到第一个页面再一次提交该页面,我就用session里值去数据库查,如果有这个id

11.5K20

Java EE实用教程笔记----(6)第六章 Struts 2综合应用案例

struts.xml修改配置,代码如下: ? 最后,还要修改登录页面login.jsp代码,在其中加入标签以便在页面上输出验证错误信息,代码为: ?...当输入正确借书证号,单击“查询”按钮,提交到“selectBook.action”,根据struts.xml配置下面的代码: ?...由于用到了模型传值,而且在后面的与数据库交互把查询数据记录都转化为该类属性,故模型代码Lend.java为: ?...Action处理之前做了一些判断工作,如果输入借书证号不合法或不存在就会直接返回并保存一些信息。“lendbook.jsp也有相应输出: ? ? ?...追加图书必须有能填写图书详细信息表单,提供给用户输入新书信息,该表单由bookinfo.jsp实现,页面右边部分“图书信息”表单填写要添加图书信息,如图所示: ?

1K20

SpringMVC详解(五)------参数绑定

问题:我们这里参数是基本数据类型,如果从前台页面传递值为 null 或者 “”的话,那么会出现数据转换异常,就是必须保证表单传递过来数据不能为null或”",所以,开发过程,对可能为空数据...和基本数据类型基本一样,不同之处在于,表单传递过来数据可以为null或”",以上面代码为例,如果表单num为”"或者表单无num这个input,那么,Controller方法参数num值则为null...7、数组类型绑定   需求:我们查询出所有User 信息,并且JSP页面遍历显示,这时候点击提交按钮,需要在 Controller 获得页面显示 User 类 id 所有值数组集合。   ...true情况下,用户可以获得焦点,但是不能编辑,提交表单,输入项会作为form内容提交。   ...disabled:针对所有表单元素(select,button,input,textarea等),设置为disabled为true情况下,表单输入项不能获得焦点,用户所有操作无意义,提交表单

1.5K101

JSP 二讲

这个字节码文件任务就是:  把JSP页面普通HTML标记符号,交给客户浏览器执行显示。  JSP标签、数据和方法声明、Java程序片由服务器负责执行,需要显示结果发送给客户浏览器。... (3)至(10)行是HTML标记,其中(7)到(10)行是HTML表单,客户通过该表单向服务器提交数据。  (11)至(13)行是数据声明部分,该部分声明数据整个JSP页面内有效。...和“%>”之间声明变量整个JSP页面内都有效,因为JSP引擎JSP页面转译成Java 文件这些变量作为类成员变量。这些变量内存空间直到服务器关闭才释放。...当客户访问该JSP页面,就去读取这个文件,服务器重新启动之前计数读入,并在此基础上增1,然后计数写入到文件;如果这个文件不存在(服务器没有作过重新启动),就将计数增1,并创建一个文件,然后将计数写入到这个文件...这是因为JSP引擎JSP页面转译成Java 文件各个程序片这些变量作为类某个方法变量,即局部变量。

1.1K61

Javaweb02-jsp

两种方式: //方式1:修改server.xml,强制指定参数传输字符集编码方式 //修改tomcat默认端口配置项,增加一个参数 URIEncoding="UTF-8" //注意tomcat8.5...版本后,默认对get请求已经变成了utf-8,不需要增加,以前是ISO-8859-1 //方式2:修改server.xml,修改tomcat默认端口中, 增加useBodyEncodingForURI...,即request对象每次都是新; 6、request 请求对象 (作用域) 可以转发; 方法 说明 getParameter("name") 获取表单提交数据 setArrribute(Stirng...key,Obbject value); 保存一次请求数据 getArrribute(Stirng key) 过去请求存放数据 7、response 响应对象 可以重定向; 8、session...对象唯一标识sessionid返回给浏览器,浏览器拿到该sessionid后,会自动保存到浏览器内存,当浏览器再次发起新请求,会自动内存中保存sessionid作为参数提交到服务端,如:JSESSIONID

52630

☀️苏州程序大白一文让你学会Java Servlet基础☀️《❤️记得收藏❤️》

Tomcat会在下次客户端请求 JSP 重新编译 JSP,而不需要重启 Tomcat。...2、从用途来看: getParameter () 用于客户端重定向,即点击了链接或提交按扭传值用,即用于在用表单或 url 重定向传值接收数据用。...getParameter () 只是应用服务器分析你送上来 request 页面的文本,取得你设在表单或 url 重定向值。...2、URL 重写 URL 添加用户会话信息作为请求参数,或者唯一会话 ID 添加到 URL 结尾以标识一个会话。...与上面三种方式不同 是,HttpSession放在服务器内存,因此不要将过大对象放在里面,即使目前 Servlet 容器可以在内存HttpSession对象移到其他存储设备,但是这样势必影响性能

1.5K30
领券