后端——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);
	}
相关推荐
likangbinlxa8 分钟前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
Ticnix14 分钟前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人17 分钟前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl21 分钟前
OpenClaw 深度技术解析
前端
崔庆才丨静觅24 分钟前
比官方便宜一半以上!Grok API 申请及使用
前端
星光不问赶路人32 分钟前
vue3使用jsx语法详解
前端·vue.js
天蓝色的鱼鱼36 分钟前
shadcn/ui,给你一个真正可控的UI组件库
前端
r i c k36 分钟前
数据库系统学习笔记
数据库·笔记·学习
布列瑟农的星空39 分钟前
前端都能看懂的Rust入门教程(三)——控制流语句
前端·后端·rust
Mr Xu_44 分钟前
Vue 3 中计算属性的最佳实践:提升可读性、可维护性与性能
前端·javascript