首页
学习
活动
专区
工具
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我们提供的防止表单重复提交的功能把!

90350

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

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

1.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.

    80750

    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.4K40

    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

    17.1K20

    Servlet详细教程

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

    90341

    Session、Cookie 学习笔记

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

    1.4K50

    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页面),用表达式语言以及定制标签来显示数据...另外一个原因是:当数据校验失败时,表单对象将用于保存和展示在原始表单上的输入。

    40340

    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页面增加一个ajax的post请求 使用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.6K20

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

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

    1.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.6K101

    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

    54930

    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
    领券