当前位置: 首页 > news >正文

[vue element-ui]JAVA POST请求

01.前端

在这里插入图片描述

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
		<script type="text/javascript" src="js/vue.js"></script>
		<link rel="stylesheet" href="element-ui/theme-chalk/index.css" />
		<script src="element-ui/index.js"></script>
		<style>
			body {
				padding: 0;
				margin: 0;
				background-color: #f1f1f1;
			}
			
			.container {
				width: 80%;
				margin: 20px auto;
				height: 550px;
				background-color: #fff;
				border: 1px solid #eee;
				padding: 15px;
			}
		</style>
	</head>

	<body>
		<div id="app">
			<el-container class='container'>
				<!--:rules="rules" prop="id" 判断是否符合标准-->
				<el-form ref="form" :model="form" :rules="rules" label-width="80px">

					<el-form-item label="学号" prop="id">
						<el-input v-model:number="form.id"></el-input>
					</el-form-item>

					<el-form-item label="姓名" prop="name">
						<el-input v-model="form.name"></el-input>
					</el-form-item>

					<el-form-item label="性别">
						<el-switch v-model="form.sex" active-color="#13ce66" inactive-color="#ff4949" active-text="男生" inactive-text="女生">
						</el-switch>
					</el-form-item>

					<el-form-item label="手机号">
						<el-input v-model="form.phone"></el-input>
					</el-form-item>

					<el-form-item>
						<el-button type="primary" @click="onSubmit('form')">提交</el-button>
					</el-form-item>
				</el-form>

			</el-container>
		</div>
	</body>
	<script>
		//定义student对象,在vue里给对象赋值
		var stu = {
			id: 0,
			name: "",
			sex: true,
			phone: ""

		};

		//判断对用户输入的值是否符合标准
		var rus = {
			id: [{
					required: true,
					message: '学号不能为空'
				},
				{
					type: 'number',
					message: '学号必须为数字值'
				}
			],
			name: [{
					required: true,
					message: '姓名不能为空',
					trigger: 'blur'
				},
				{
					min: 2,
					max: 5,
					message: '姓名长度在 2 到 5 个字符',
					trigger: 'blur'
				}
			]
		};

		//ajax
		queryData = function() {
			$.ajax({
				type: "POST",
				url: "Query",
				async: true,
				data: app.form,
				success: function(msg) {
					console.log(msg);
					//如果无异常,则返回成功信息
					if(msg.error == 0) app.open2();
				}
			});
		}

		//vue
		var app = new Vue({
			el: '#app',
			data: {
				message: 'Hello Vue.js!',
				form: stu,
				rules: rus
			},
			methods: {
				//按钮提交,先判断用户值是否符合标准
				onSubmit(formName) {
					this.$refs[formName].validate((valid) => {
						if(valid) {
							queryData();
						} else {
							this.open3();
							return false;
						}
					});
				},
				//成功信息
				open2() {
					this.$message({
						message: '恭喜你,成功添加消息!',
						type: 'success'
					});
				},
				//警告信息
				open3() {
					this.$message({
						message: '添加错误,请核对您输入的信息!',
						type: 'warning'
					});
				}
			}
		})
	</script>

</html>

02.JAVA后台

package my;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;

/**
 * Servlet implementation class Query
 */
@WebServlet("/Query")
public class Query extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Query() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		//response.getWriter().write("aa");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//doGet(request, response);
		String id=request.getParameter("id");
		String name=request.getParameter("name");
		String sex=request.getParameter("sex");
		String phone=request.getParameter("phone");
		
		Student stu=new Student();
		stu.setId(Integer.valueOf(id));
		stu.setName(name);
		stu.setSex(Boolean.valueOf(sex));
		stu.setPhone(phone);
		
		System.out.println(stu.getId()+","+stu.getName()+","+stu.getSex()+","+stu.getPhone());
		
		JSONObject obj=new JSONObject();
		obj.put("error", 0);
		String str=JSON.toJSONString(obj, SerializerFeature.PrettyFormat);
		
		response.setContentType("application/json");
		response.setCharacterEncoding("UTF-8");
		response.getWriter().write(str);
	}

}

03.eclipse创建项目

在这里插入图片描述
在这里插入图片描述
WebRoot\WEB-INF\classes

在这里插入图片描述
WebRoot

相关文章:

  • 【C语言 全局 整形变量 布尔变量 数组变量 指针变量 结构体位域变量 枚举变量被其他.C文件相互访问】
  • MyBatis的增删改查操作
  • TypeScript基础类型
  • 汇聚数据库创新力量,加速企业数字化转型
  • python实战案例——采集二手车数据并分析其价值
  • Java EE 程序修改题【太原理工大学】
  • Promise:工作流程、常见API、使用方法、手撕Promise、async/await
  • Vue3 中选项式下的侦听器
  • 有向图的拓扑序列
  • 防御 CSS 黑客——介绍“安全的 CSS hacks”
  • 通信原理与MATLAB(九):DPSK的调制解调
  • Docker安装配置运行Redis
  • 2022 年上海市大学生程序设计竞赛 M. My University Is Better Than Yours
  • 数据结构(陈越、何钦铭)学习笔记
  • pytorch集锦(2)-处理数据DataLoader和Dataset(2)
  • 【5+】跨webview多页面 触发事件(二)
  • 【知识碎片】第三方登录弹窗效果
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • const let
  • ES6 ...操作符
  • ES6核心特性
  • JavaScript 奇技淫巧
  • vagrant 添加本地 box 安装 laravel homestead
  • win10下安装mysql5.7
  • 基于遗传算法的优化问题求解
  • 计算机在识别图像时“看到”了什么?
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端技术周刊 2019-01-14:客户端存储
  • 消息队列系列二(IOT中消息队列的应用)
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • # C++之functional库用法整理
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (四)linux文件内容查看
  • (译)2019年前端性能优化清单 — 下篇
  • (转)Linux整合apache和tomcat构建Web服务器
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net core控制台应用程序初识
  • .NET Micro Framework初体验(二)
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .Net8 Blazor 尝鲜
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @SuppressWarnings注解
  • [ C++ ] 继承
  • [android] 切换界面的通用处理