jsp中如何让JAVA代码提交表单后再执行需要提交后执行的代码放入if语句中,比如:
%
List rs = null;
if (request.getMethod().equalsIgnoreCase("post")){
//执行提交后执行的代码
//Bean执行之后把结果放入session中 , 然后在展示出来 。
rs = ...
} else {
rs = new ArrayList();//要显示的结果
}
%
在java中怎么在网页的文本框中输入代码,当提交时 , 验证代码是否正确可以用Jquery的组件
validate
API中详细的验证说明
也可以在提交事件submit()时,取得文本框的值
自己做验证,验证后提交
在java jsp中怎么处理用户多次点击提交按钮造成数据重复java jsp处理用户多次点击提交按钮造成数据重复,最常见的方法是点击按钮提交之后,让线程休眠几秒再执行,如下代码:
1.提交的表单页面
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
!DOCTYPE HTML
html
head
titleForm表单/title
/head
body
form action="${pageContext.request.contextPath}/servlet/DoFormServlet" method="post"
用户名:input type="text" name="username"
input type="submit" value="https://www.04ip.com/post/提交" id="submit"
/form
/body
/html
2.处理提交表单的servlet,里面有提供防止重复提交的代码,如下:
package xdp.gacl.session;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DoFormServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//客户端是以UTF-8编码传输数据到服务器端的,所以需要设置服务器端以UTF-8的编码进行接收,否则对于中文数据就会产生乱码
request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("username");
try {
//让当前的线程睡眠3秒钟,模拟网络延迟而导致表单重复提交的现象
Thread.sleep(3*1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("向数据库中插入数据:"+userName);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
java,用户注册,输入信息后,单击提交按钮,弹出一个提示框后台方法:
private HttpServletResponse response = ServletActionContext.getResponse(); // 用户登录 public String login() throws IOException {System.out.println("login");// md5加密密码MD5 md5 = new MD5(password);String pas = md5.compute();Users u = new Users();u.setUsername(username);u.setPassword(pas);//使用ajax调用返回值response.setContentType("text/plain;charset=UTF-8");response.setHeader("pragma", "no-cache");response.setHeader("cache-control", "no-cache");PrintWriter write = response.getWriter();// 用户用户登录--存在返回id,不存在或者 密码错误返回-1锁定状态返回-2int res = manager.checkUser(u);// System.out.println(res + "useraction");if (res == -1) {String str = "{\"success\":false,\"msg\":\"您输入用户不存在或者密码错误 , 请重新输入\"}";write.write(str);write.flush();write.close();return null;}if (res == -2) {// System.out.println("zhanghaosuoding");String str = "{\"success\":false,\"msg\":\"您输入的账号已经被锁定\"}";write.write(str);write.flush();write.close();return null;}Users u2 = manager.findOneUsers(res);// System.out.println(u2.getUsername()+"-"+u2.getPassword());// 把用户信息和上次登录时间放到session中 , 在页面上显示ActionContext.getContext().getSession().put("user", u2);ActionContext.getContext().getSession().put("lastlogin", u2.getLastLoginTime().toString().substring(0, 10));// 更新这次登录时间到数据库java.sql.Timestamp lastLogin = new java.sql.Timestamp(new java.util.Date().getTime());u2.setLastLoginTime(lastLogin);manager.updateUser(u2);String str = "{\"success\":true,\"msg\":\"登陆成功\"}";write.write(str);write.flush();write.close();return null;
推荐阅读
- 怎么在MySQL里建数据库,mysql如何建数据库
- 怎么把硬盘改为hfs,怎么把硬盘改为ntfs
- 为什么cpu重量大,为什么cpu占比高
- 体育游戏荡秋千幼儿园反思,户外自主游戏荡秋千教案及反思
- go语言编译器java版 go语言编译原理
- 下载视频,下载视频的网站
- 笔记本两个显卡怎么弄出来,笔记本两个显卡怎么弄出来的
- qt执行python函数 qt运行python
- 如何做好大理石营销,大理石的销售渠道