第一种方式:使用form表单将前端数据提交到servelt(将前端数据提交到servlet)
第二种使用Ajax的形式将前台的数据传输到后台:https://blog.csdn.net/weixin_43304253/article/details/120335657
1、form表单
引入了bootstrap格式。
需要导入相应的文件
form表单中的action:写使用注解的地址:我这边servelt的注解是@WebServlet("/login")
然后form表单中的action应该填写action="login"
。
注意:在input输入框中要写上name属性,否则后端获取不到前端传入的数据。
<%--
Created by IntelliJ IDEA.
User: 郑
Date: 2021/9/14
Time: 17:59
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<!--载入bootstrap的css-->
<link href="bootstrap/dist/css/bootstrap.css" rel="stylesheet">
<title>信息录入界面</title>
</head>
<body>
<form class="form-horizontal" method="post" action="login">
<div class="form-group">
<label for="id" class="col-sm-2 control-label">用户名</label>
<div class="col-sm-2">
<input type="text" class="form-control" name="id" id="id" placeholder="账号" onblur="return checkId()">
</div>
<div class="col-sm-3">
<span id="idTip" style="color: red"></span>
</div>
</div>
<div class="form-group">
<label for="pwd" class="col-sm-2 control-label">密码</label>
<div class="col-sm-2">
<input type="password" class="form-control" name="pwd" id="pwd" placeholder="密码" onblur="return checkPwd()">
</div>
<div class="col-sm-3">
<span id="pwdTip" style="color: red"></span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" onclick=" return login()">登录</button>
</div>
</div>
</form>
<%-- 如果要使用bootstrap的js插件,必须先调入jquery--%>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<%-- 然后引入bootstrap中的js--%>
<script src="bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript">
// 验证输入密码
function checkId(){
var id = $("#id").val();
var patt1=/^B[0-9]{11}$/; //正则表达式验证,匹配以B开始,然后连续11个数字
if (id === null || id === ""){
$("#idTip").text("输入的用户名为空,请输入以B开头连续十一位数字")
return false;
}else if (id.match(patt1)==null){
$("#idTip").text("请输入正确的学号格式,如B201807022223")
return false;
} else{
$("#idTip").text(" ");
}
}
// 验证密码
function checkPwd(){
var pwd=$("#pwd").val();
if (pwd === null || pwd === ''){
$("#pwdTip").text("输入的密码不能为空")
return false;
}else{
$("#pwdTip").text(" ")
}
}
// 验证登录信息
function login(){
var id=$("#id").val();
var pwd=$("#pwd").val();
// 二级验证账号
if (id === null || id === ""){
alert("请输入账号")
return false;
}
// 二级验证密码
if (pwd === null || pwd === ''){
alert("请输入密码")
return false;
}
}
</script>
</body>
</html>
一级验证
二级验证
后端使用注解的形式使用servlet
有些idea可能没有servlet这个选项:需要在pom.xml文件中导入依赖
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
导入之后就可以选择
package com.zheng.controller;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/login")
public class StudentServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String pwd=request.getParameter("pwd");
System.out.println("传入的用户id"+id);
System.out.println("传入的用户密码"+pwd);
}
}
2、多说一句 关于创建servlet
2.1 没有导入servlet依赖
2.2 导入servlet依赖
第一种方式:使用form表单将前端数据提交到servelt(将前端数据提交到servlet)的更多相关文章
- Django中三种方式写form表单
除了在html中自己手写form表单外,django还可以通过 继承django.forms.Form 或django.forms.ModelForm两个类来自动生成form表单,下面依次利用三种方式 ...
- jquery下的提交,点击按钮没反应,post方法不执行 JSON方式在FORM表单下不起作用
jquery下的提交,点击按钮没反应,post方法不执行 JSON方式在FORM表单下不起作用
- java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)
1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...
- ajax无刷新方式对form表单进行赋值!
/** * 把json数据填充到from表单中 */ <form id="editForm" action="user.php"> 用户名:< ...
- form表单元素中disabled的元素的值不会提交到服务器
1.表单元素中disabled的元素的值不会提交到服务器,后台获取的值为null <form id="myForm" action="#" method= ...
- 常用6种type的form表单的input标签分析及示例
<input> 标签用于搜集用户信息. 根据不同的 type 属性值,输入字段拥有很多种形式.输入字段可以是文本字段.复选框.掩码后的文本控件.单选按钮.按钮等等. 在这里博主介绍6中ty ...
- form表单和CSS
一.form表单 1. form表单有什么用 能够获取用户输入的信息(输入,选择, 上传的文件),并且将这些数据全部发送给后端 2. form表单的用法 (1)有两个重要参数: action : 控制 ...
- 参数传递的四种形式----- URL,超链接,js,form表单
什么时候用GET, 查,删, 什么时候用POST,增,改 (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:/ ...
- ***四种参数传递的形式——URL,超链接,js,form表单
什么时候用GET, 查,删 什么时候用POST,增,改 (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:// ...
- Javascript中的Form表单知识点总结
Javascript中的Form表单知识点总结 在HTML中,表单是由form元素来表示的,但是在javascript中,表单则由HTMLFormElement类型,此元素继承了HTMLElement ...
随机推荐
- ArcGIS QGIS学习一:打开shp、geojson地图变形变扁问题(附最新坐标边界下载全国省市区县乡镇)
目录 打开的地图变扁了 修改投影坐标系 等角圆锥投影 Web墨卡托投影 一些要注意的地方 打开的地图变扁了 记得初学GIS软件时,用ArcGIS或QGIS打开省级地图的时候(shp或geojson等格 ...
- mysql验证隔离级别
mysql更改隔离级别 参考https://blog.csdn.net/qq_21299835/article/details/121189565 关闭mysql事务自动提交:set autocomm ...
- CCF NOI Online 2021 提高组 T2 积木小赛 (子序列自动机+后缀自动机,O(n^2))
题面 Alice 和 Bob 最近热衷于玩一个游戏--积木小赛. Alice 和 Bob 初始时各有 n 块积木从左至右排成一排,每块积木都被标上了一个英文小写字母. Alice 可以从自己的积木中丢 ...
- 【java】学习路径17-StringBuffer、StringBuilder的使用与区别
本文讲解StringBuffer和StringBuilder的使用与区别. 1-- String String类型我们已经很熟悉了,String一旦被赋值,其在堆中的数据便无法修改. 平时我们的&qu ...
- KingbaseES rownum 与 limit 的 执行计划区别
数据准备 --创建基础数据表100W行 create table test07 as select * from (select generate_series(1, 1000000) id, (ra ...
- 动态调整日志级别思路&实现
引言 上篇文章 性能调优--小小的 log 大大的坑 已将详细的介绍了高并发下,不正确的使用日志姿势,可能会导致服务性能急剧下降问题.文末也给各位留下了解决方案--日志级别动态调整. 本文将详细介绍& ...
- The 19th Zhejiang Provincial Collegiate Programming Contest
目录 A.JB Loves Math B.JB Loves Comma C. JB Wants to Earn Big Money G. Easy Glide I. Barbecue L. Candy ...
- 从源码中理解Spring Boot自动装配原理
个人博客:槿苏的知识铺 一.什么是自动装配 SpringBoot 定义了一套接口规范,这套规范规定:SpringBoot在启动时会扫描外部引用jar包中的META-INF/spring.factori ...
- Pytest测试框架一键动态切换环境思路及方案
前言 在上一篇文章<Pytest fixture及conftest详解>中,我们介绍了fixture的一些关键特性.用法.作用域.参数等,本篇文章将结合fixture及conftest实现 ...
- 我的Vue之旅、04 CSS媒体查询完全指南(Media Quires)
什么是SCSS Sass: Sass Basics (sass-lang.com) SCSS 是 CSS 的预处理器,它比常规 CSS 更强大. 可以嵌套选择器,更好维护.管理代码. 可以将各种值存储 ...