Java-动态数据接口
-
实现效果
动态数据接口 -
axios
异步请求请求与渲染
实现过程总结
-
数据库与
java
实体类映射(ORM
)实体类映射 -
servlet
处理axios
发起的异步请求servlet
处理对应请求 -
页面响应
java 层面: 实体类转换为 JSON字符串 通过 response.getWrite().write(jsonString) JOSN 转换工具可以使用如下: 1. FastJson 2. Jackson 3. Gson ... 浏览器层面: JSON.stringfy() JSON.parse()
-
细节注意
-
参数校验
-
优化相关逻辑
-
优化
servlet,封装 BaseServlet
-
数据类型
文本框的数据为 “字符串” 数值类型需要通过如下转换: Integer.parseInt(stringNumber) Integer.valueOf(stringNumber)
-
Demo源文件
-
Servlet
-
dao
package com.example.book.dao; import com.example.book.entity.BookInfo; import java.util.List; public interface BookInfoDao { /** * 根据 ID 查询 * * @param booName 书籍名称 * @return BookInfo对象 */ BookInfo selectBookByName(String booName); /** * 查询所有书籍 * * @return BookInfo对象 */ List<BookInfo> selectAllBook(); /** * 购物车添加 * * @param bookId 根据书籍id * @param count 添加的数量 * @return 受影响行数 */ int addInCartCount(String bookId, int count); /** * 购物车减少 * * @param bookId 根据书籍 id * @param count 减少的数量 * @return 受影响行数 */ int reduceCardCount(String bookId, int count); }
-
server
层package com.example.book.service; import com.example.book.entity.BookInfo; import java.util.List; public interface BookInfoService { // 阅读一本书 BookInfo lookUpBookByName(String bookName); // 整理所有书籍 List<BookInfo> organizingBooks(); int editAddBookInShoppingCart(String bookId, int count); int editReduceBookInShoppingCart(String bookId, int count); }
-
请求与处理
controller
package com.example.book.controller; import com.alibaba.fastjson.JSON; import com.example.book.entity.BookInfo; import com.example.book.service.BookInfoService; import com.example.book.service.impl.BookInfoServiceImpl; 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(name = "ShowAllBookInfo", value = "/showAllBookInfo") public class ShowAllBookInfo extends HttpServlet { private BookInfoService bookInfoService = new BookInfoServiceImpl(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<BookInfo> bookInfos = bookInfoService.organizingBooks(); String jsonString = JSON.toJSONString(bookInfos); System.out.println(jsonString); response.setContentType("application/json;charset=utf-8"); response.getWriter().write(jsonString); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
-
前端
- 使用表格展示数据
Element-UI
axios
进行异步请求JSON
格式化插件选择FeHelper
- 过滤器
Vue 配置项
- 使用表格展示数据
-