req
1继承体系
2获取请求数据
get请求
/** * 所搜框查询数据 */ public void selectBySomething(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 读取数据 req.setCharacterEncoding("utf-8"); // 获取数据当前页面和数据的数量 String _currentPage = req.getParameter("currentPage"); String _pageSize = req.getParameter("pageSize"); BufferedReader reader = req.getReader(); String readLine = reader.readLine(); // 转成int类型 Integer currentPage = Integer.valueOf(_currentPage); Integer pageSize = Integer.valueOf(_pageSize); Brand brand2 = JSON.parseObject(readLine, Brand.class); // 模糊查询需要的数据处理 if (brand2.getBrandName() != "" && brand2.getBrandName() != null) { brand2.setBrandName("%" + brand2.getBrandName() + "%"); } if (brand2.getCompanyName() != "" && brand2.getCompanyName() != null) { brand2.setCompanyName("%" + brand2.getCompanyName() + "%"); } // 调用方法获取数据 PageBean<Brand> pageBean = brandService.selectBySomething(currentPage, pageSize, brand2); //转成Json格式 String jsonString = JSON.toJSONString(pageBean); //响应数据 resp.setContentType("text/json;charset = utf-8"); resp.getWriter().write(jsonString); }
乱码问题
如果有报错的话记得看String的导包问题
post
public void deleteById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ // 读取数据 req.setCharacterEncoding("utf-8"); BufferedReader reader = req.getReader(); String readLine = reader.readLine(); // 转化为数组 int[] ids = JSON.parseObject(readLine, int[].class); // 调用添加方法 brandService.deleteById(ids); // 响应成功的标识符 resp.getWriter().write("success"); }
乱码问题
// 读取数据 req.setCharacterEncoding("utf-8"); BufferedReader reader = req.getReader(); String readLine = reader.readLine();
请求转发
注意是服务器内部
这个是在requst存数据,用特定的方法取数据
可以共享req里的包括post的数据
resp
组成部分
重定向
用下面的这个简单
特点
rep里的包括post数据不可共享
req和resp的区别
请求转发可以共享req里的包括post的数据,但不可以转去到服务器外的数据
重定向不可以共享req里的包括post的数据,但可以转去到服务器外的数据
路径问题
就是指前面要加上项目名称,为防止项目名称改动带来的多余的代码变动,需要一个变量来代表虚拟目录,如下图