后端Java怎么和前端HTML交互?

后端Java怎么和前端HTML交互?,第1张

BAT的后端开发工程师不请自来。

这个问题的本质其实是在前后端分离的大趋势下,前后端开发者如何将各自的代码串联起来,对外发布一个完整的服务。

接下来,我们就分别从前端和后端来介绍。

后端

后端又称服务端,是负责接收前端的请求,然后进行逻辑处理,去读写数据库,最后将结果返回的功能节点。目前在前后端分离的大前提下,不仅是java,php,Python等等大多是通过开放api/

这个url下,path分别为A和B,然后这两个controller内又各自有两个方法,指定的path注解分别为A1,A2,B1,B2,那么当前端调用

api/A/A1

的时候,就会去执行Acontroller下的A1函数,然后再将这个函数的执行结果作为response返回给前端了。

前端

前端通常负责的工作除了渲染界面,还有两部分组成:

1捕捉用户的 *** 作,

2根据 *** 作请求后端api并获取结果展示给用户。

我们前面介绍的前后端交互,就是第二部分的工作。前端通过调用后端提供的api来传递和获取数据,最后再将数据渲染到页面上。

不过值得提一句的是,html并不负责与java交互,从基础来说,html只负责页面架构,具体捕捉用户 *** 作,获取数据等步骤,是由JavaScript来实现的。

html可以通过使用表单将数据传到指定的位置,java中也可以通过使用Servlet(也就是简单的java类继承HttpServlet,重写doGet,doPost方法)。

具体事例如下:

html页面:

<%@ page language="java" import="javautil" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">

<html>

<head>

<title>Demo</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<form action="demoServlet" method="post">

<input type="text" name="name"/>

<select name="xiala">

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

</select>

<input type="submit" value="提交"/>

</form>

</body>

</html>

Servlet代码:

public class DemoServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

String name = reqgetParameter("name");

String xiala = reqgetParameter("xiala");

Systemoutprintln(name+","+xiala);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

superdoGet(req, resp);

}

}

当点击提交按钮时,界面会去调用DemoServlet这个类里的doPost方法,执行对应的代码,java类通过使用getParameter根据参数名获取页面传过来的值。

两种方式:

1、纯Java,用POI来做

2、用JNA调用word接口,根据office api来做

第一种呢对于java开发来说相对简单,但是需要学POI,而且估计有些格式控制不好。第二种要学习JNA,而且需要边做变差word的office api。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12157211.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存