后端——eclipse实现前端后端的交互(2)

1.新建前后端文件

新建HTML文件和后端交互Servlet文件。新建文件的地址也有所要求,Servlet文件要在JavaResources下的src中。HTML文件在WebContent下

2. 引入jqury文件

后端与前端的互传需要通过jQuery的ajax,所以要传入jQuery的包到eclipse中,传入位置与HTML文件一致,放在WebContent下(同样css文件或其他img等都可以放在该目录下)

3.前端内容

在前端界面书写jquery内容。ajax格式如下。

html 复制代码
<script src="js/jquery.js"></script>
<script>

    $.ajax({
    	url:"testServlet",
    	type:"get", //请求方式 get post
    	success:function(value){
    		console.log(value)
    	},
    	error:function(){
    		alert("出错啦")
    	},
    })
</script>

其中,**"url"**为所连接后端的文件名称。

"success"为请求成功时执行的代码 ,"error"为// 请求失败时执行的代码

"type"为不同的请求方式,get post传参形式不同,请求方式post需要传入data域(账户密码为例)

javascript 复制代码
data:{
            account:account,
            password:password
        }

只要能写地址的地方,都可以发起get请求 浏览器地址栏 a location.herf='' 查找,而post方式必须通过jquery +ajax实现 。

get请求通常用来查找, 而post请求用于增删改

4.后端内容

新建一个Servlet文件,我们会发现,Servlet中有两个函数doGet和doPost.分别用于接受不同请求方式。

doGet函数中一些简单的语法示例:(从本地数据库的tests表中返回name,num,date三类数据)

其中MysqlUtil是提前写好的方法包,当然方法也可以自己写。导入即可。

java 复制代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 //解决中文乱码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        //设置后端给前端返回的数据为json格式(大量数据)
        response.setContentType("text/json;charset=utf-8");
		//接收参数
		 //查找
		String sql="SELECT * from tests";
		String[] colums= {"name","num","date"};
		String res=MysqlUtil.getJsonBySql(sql, colums);
		
		 //后端给前端返回数据
        response.getWriter().write(res);
	}

**doPost函数中一些简单的语法示例:**与doGet不同doPost需要接受前端的参数。

java 复制代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//解决中文乱码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        //设置后端给前端返回的数据为json格式(大量数据)
        response.setContentType("text/json;charset=utf-8");
		
        //接受前端的参数
		String account=request.getParameter("account");
		String password=request.getParameter("password");
		
		//执行sql语句(查找数据库里是否有目的账号)
		String sql="select count(*) FROM user WHERE account=\""+account+"\"";

		int num=MysqlUtil.add(sql);
	
		if(num>0) {
			res="{\"code\":1,\"message\":\"该账号存在\"}";
		}else {
			res="{\"code\":0,\"message\":\"该账号不存在\"}";
		}
		response.getWriter().write(res);
	}
相关推荐
我要见SA姐11 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
Captaincc1 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
xcLeigh1 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客2 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐12 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
计算机魔术师3 小时前
德国Wiki被黑后两周,OpenAI终于把模型失控的账本摊开了
前端
kyriewen3 小时前
我让 AI 当面试官面了我一轮:第 3 个追问我就卡住了(附 10 道追问清单)
前端·面试·ai编程
IT_陈寒3 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
Nturmoils4 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶4 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构