优化这段代码// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package com.api.Shenhh; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import weaver.conn.RecordSet; @Path("/Shenhh") public class Service_Test { public Service_Test() { } @GET @Path("/test01") @Produces({"application/json"}) public void selectAll(@Context HttpServletRequest req, @Context HttpServletResponse res) { try { req.setCharacterEncoding("utf-8"); res.setContentType("text/html;charset=utf-8"); ServletOutputStream out = res.getOutputStream(); JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); RecordSet recordSet = new RecordSet(); String sql = "select * from formtable_main_20"; recordSet.execute(sql); while(recordSet.next()) { jsonObject.put("name", recordSet.getString("xm")); jsonObject.put("bm", recordSet.getString("bm")); jsonObject.put("date", recordSet.getString("rq")); jsonObject.put("sw", recordSet.getString("swdksj")); jsonObject.put("xw", recordSet.getString("xwdksj")); jsonObject.put("sfkg", recordSet.getString("sfkg")); jsonArray.add(jsonObject); out.print(jsonArray.toString()); out.println("1沈哈哈!!!!!!!!!!!!!!!!!!!"); } } catch (Throwable var8) { throw var8; } } }
时间: 2023-04-01 18:03:03 浏览: 154
这段代码可以进行优化,比如可以将JSONObject和JSONArray的创建放在while循环外面,避免重复创建对象,提高效率。同时,可以考虑使用PreparedStatement代替Statement,避免SQL注入攻击。另外,可以使用try-with-resources语句来自动关闭资源,避免资源泄露。
相关问题
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package Servlet; import Service.impl.UserServiceImpl; import domain.User; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @WebServlet({"/userListServlet"}) public class userListServlet extends HttpServlet { public userListServlet() { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); UserServiceImpl service = new UserServiceImpl(); List<User> users = service.findAll(); request.setAttribute("users", users); request.getRequestDispatcher("/list.jsp").forward(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
这是一个 Servlet,用于处理用户请求并返回用户列表。该 Servlet 使用了 UserServiceImpl 类的实现来获取用户列表,并将其存储在 request 对象中,最后将请求转发到 list.jsp 页面。其中,doPost() 方法处理 POST 请求,doGet() 方法处理 GET 请求。该 Servlet 的 URL 映射为 "/userListServlet"。
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package com.baomidou.mybatisplus.core.toolkit; import java.lang.reflect.Array; import java.util.Collection; import java.util.Map; public class ObjectUtils { public ObjectUtils() { } public static boolean isNull(Object... objs) { Object[] var1 = objs; int var2 = objs.length; for(int var3 = 0; var3 < var2; ++var3) { Object obj = var1[var3]; if (isEmpty(obj)) { return true; } } return false; } public static boolean isNotNull(Object... obj) { return !isNull(obj); } public static boolean isNotEmpty(Object obj) { return !isEmpty(obj); } public static boolean isEmpty(Object obj) { if (obj == null) { return true; } else if (obj.getClass().isArray()) { return Array.getLength(obj) == 0; } else if (obj instanceof CharSequence) { return ((CharSequence)obj).length() == 0; } else if (obj instanceof Collection) { return ((Collection)obj).isEmpty(); } else { return obj instanceof Map ? ((Map)obj).isEmpty() : false; } } }
这是一个对象工具类,其中包含了一些常用的判断对象是否为空的方法。主要有以下几个方法:
- `isNull(Object... objs)`: 判断传入的多个对象是否有为空的情况,只要有一个为空就返回`true`,否则返回`false`。
- `isNotNull(Object... obj)`: 判断传入的多个对象是否都不为空,只要有一个为空就返回`false`,否则返回`true`。
- `isNotEmpty(Object obj)`: 判断传入的对象是否不为空,如果对象不为空就返回`true`,否则返回`false`。
- `isEmpty(Object obj)`: 判断传入的对象是否为空,根据对象的不同类型进行不同的判断。如果对象为null,返回`true`;如果对象是数组类型,判断数组长度是否为0;如果对象是CharSequence类型(如String),判断字符序列长度是否为0;如果对象是Collection类型,判断集合是否为空;如果对象是Map类型,判断Map是否为空。以上情况均不满足,则返回`false`。
这些方法可以方便地判断对象是否为空,提供了一些常用的判断逻辑。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![unitypackage](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)