如何先运行servlet然后让jsp调用它来获取我的json数据?

时间:2014-06-25 08:41:24

标签: java json jsp servlets

我正在使用Eclipse动态Web项目。 我有4个文件

servlet-> Loginservlet.java 

[有doGet()方法调用ConnectionUtil.java并从中获取json数据]

ConnectionUtil.java 

[检查连接到db之后调用DataDao.java并从中获取json数据,后来它从表单数据库获取]

DataDao.java 

[从数据库中获取数据并将其作为json返回到

//List<Map<String,Object>> 

格式]

index.jsp

[index.jsp需要来自名为Loginservlet.java的servlet的json数据。]

所以,如果我需要来自LoginServlet.java的json数据,我必须

  1. 首先运行servlet
  2. 然后我的jsp必须调用它来获取数据。
  3. 我的问题是我如何实施它?

1 个答案:

答案 0 :(得分:1)

您正在获取JSP所需的数据。以下是示例流程1:

  • 用户访问yourapp.com/login
  • Loginservlet映射到/ login,因此它被称为
  • Loginservlet使用其他类来获取数据并使用request.setAttribute("data",data)
  • 将其置于请求中
  • 然后Loginservlet转发到index.jsp
  • index.jsp利用数据,例如通过在<script>标记
  • 之间将其提供给JavaScript来使用它

如果您已经考虑过使用Loginservlet来实际登录用户,那么您可能希望有一个单独的servlet来获取数据 - 可能被称为WelcomeServlet映射到& #39; /&#39;所以当人们点击应用程序时默认加载。

当然还有另一种方式,示例流程2:

  • 用户访问index.jsp
  • index.jsp包含用于对servlet进行AJAX调用的Javascript
  • servlet获取数据并将其直接写入响应
  • index.jsp上的处理程序接收数据并对其执行某些操作。