向客户端发送JSON格式数据

「爱情、让人受尽委屈。」 2024-03-23 13:43 136阅读 0赞

一、导入jackson依赖

  1. <dependencies>
  2. <dependency>
  3. <groupId>com.fasterxml.jackson.core</groupId>
  4. <artifactId>jackson-databind</artifactId>
  5. <version>2.11.0</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>com.fasterxml.jackson.module</groupId>
  9. <artifactId>jackson-module-parameter-names</artifactId>
  10. <version>2.11.0</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>com.fasterxml.jackson.datatype</groupId>
  14. <artifactId>jackson-datatype-jdk8</artifactId>
  15. <version>2.11.0</version>
  16. </dependency>
  17. <dependency>
  18. <groupId>com.fasterxml.jackson.datatype</groupId>
  19. <artifactId>jackson-datatype-jsr310</artifactId>
  20. <version>2.11.0</version>
  21. </dependency>
  22. </dependencies>

二、定义实体类

  1. public class UserBean {
  2. private Integer id ;
  3. private String name;
  4. @JsonFormat(pattern = "yyyy-MM-dd")//指定对象序列化为JSON时的日期格式
  5. private LocalDate birthday;
  6. private Integer money;
  7. private Double payTaxes;
  8. }

三、业务组件

在servlet中输出 对象的JSON字符串

  1. public class TestServlet extends HttpServlet {
  2. @Override
  3. public void init() throws ServletException {
  4. System.out.println("servlet初始化");
  5. }
  6. @Override
  7. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  8. this.doPost(req,resp);
  9. }
  10. @Override
  11. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  12. resp.setContentType("text/html;charset=utf-8");
  13. List<UserBean> list = new ArrayList<>();
  14. list.add(new UserBean(1,"熊大", LocalDate.parse("1997-12-08"),2500,0.0));
  15. list.add(new UserBean(2,"熊二", LocalDate.parse("1997-12-08"),6000,180.55));
  16. ObjectMapper om = new ObjectMapper();
  17. //注册时间模板
  18. om.registerModule(new JavaTimeModule());
  19. //将java对象转化为json字符串
  20. String str = om.writeValueAsString(list);
  21. resp.getWriter().println(str);
  22. }
  23. }

四、启动

  1. public class MainTomcat {
  2. public MainTomcat(){
  3. Tomcat tomcat = new Tomcat();
  4. //设置启动端口
  5. tomcat.setPort(9090);
  6. //引导http引擎
  7. tomcat.getConnector();
  8. //创建上下文对象
  9. Context context = tomcat.addContext("",null);
  10. //注册servlet
  11. Wrapper wrapper = Tomcat.addServlet(context,"testServlet",new TestServlet());
  12. wrapper.setLoadOnStartup(1);
  13. //设置servlet访问路径
  14. wrapper.addMapping("*.yy");
  15. try {
  16. //启动tomcat
  17. tomcat.start();
  18. } catch (LifecycleException e) {
  19. throw new RuntimeException(e);
  20. }
  21. }
  22. public static void main(String[] args) {
  23. new MainTomcat();
  24. }
  25. }

测试:http://localhost:9090/*.yy

发表评论

表情:
评论列表 (有 0 条评论,136人围观)

还没有评论,来说两句吧...

相关阅读