gpt4 book ai didi

java - 实现 Servlet,用于识别请求者并发送浏览器的动态 html 或仅发送移动/桌面应用程序的信息

转载 作者:太空宇宙 更新时间:2023-11-04 08:35:27 25 4
gpt4 key购买 nike

我试图以一种方式思考,我可以使用相同的方法从 JDO 数据库获取数据并将其打印到所有 3 个平台,但不同之处在于,如果它是浏览器请求,它将在动态网页生成器中打印。但我似乎想不出什么好的方法。

例如,如果浏览器请求发布帖子,它将转到打印动态页面+信息请求的代码。像这样

for (Texto e : results) 
{
print = "<table width='100%' border='2' cellspacing='2' cellpadding='2'>"
+ "<tr><td colspan='2'>"
+ results.get(0).titulo
+ ";</td></tr><tr><td colspan='2'>"
+ results.get(0).texto

但是,如果其中一个应用程序要求发布帖子,它只会返回:

 for (Texto e : results) 
{
resp.getWriter().println("Titulo:"
+ results.get(0).titulo);
resp.getWriter().println("Nome:"
+ results.get(0).nome);

因为它不需要打印到动态网页并从这里获取信息。所以我希望它根据用户平台返回不同的内容。但使用相同的方法调用。

现在我有不同的链接来请求相同的信息,一个链接到网络,一个链接到应用程序(桌面和 Android)。但我正在考虑只为这三个链接提供一个链接。到目前为止我认为

1° 在登录 cookie 中获取有关正在执行请求的平台的信息,并通过两种不同类型在打印方法中执行 if 操作。

2° 或者只是发送一个始终包含该信息的参数并执行 if...等等...

但我认为这种方法确实很简单。

有人对此有任何困难吗?

最佳答案

它通常是通过检查“扩展”和/或请求的 Accept header 来完成的。例如,对于 /person/profile.html 这样的 url,您将将此数据呈现为 HTML,或者如果 url 为 /person/profile + header Accept: application/json,您将其呈现为 JSON。

您可以对两种方法使用相同的数据,但使用不同的序列化类型。如果您使用“Spring Web”或类似框架,则配置起来很容易。

关于java - 实现 Servlet,用于识别请求者并发送浏览器的动态 html 或仅发送移动/桌面应用程序的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6524942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com