JavaWeb综合案例
笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)
视频教程(P154~P163)
- 功能列表

环境搭建
- 执行提供的下面的tb_brand.sql脚本
- -- 删除tb_brand表
- drop table if exists tb_brand;
- -- 创建tb_brand表
- create table tb_brand (
- -- id 主键
- id int primary key auto_increment,
- -- 品牌名称
- brand_name varchar(20),
- -- 企业名称
- company_name varchar(20),
- -- 排序字段
- ordered int,
- -- 描述信息
- description varchar(100),
- -- 状态:0:禁用 1:启用
- status int
- );
- -- 添加数据
- insert into tb_brand (brand_name, company_name, ordered, description, status)
- values
- ('华为', '华为技术有限公司', 100, '万物互联', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
- ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
- ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
- ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
- ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
- ('华为', '华为技术有限公司', 100, '万物互联', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
- ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
- ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
- ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
- ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
- ('华为', '华为技术有限公司', 100, '万物互联', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
- ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
- ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
- ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
- ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
- ('华为', '华为技术有限公司', 100, '万物互联', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
- ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
- ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
- ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
- ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
- ('华为', '华为技术有限公司', 100, '万物互联', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
- ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
- ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
- ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
- ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
- ('华为', '华为技术有限公司', 100, '万物互联', 1),
- ('小米', '小米科技有限公司', 50, 'are you ok', 1),
- ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
- ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
- ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
- ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
- ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1);
- SELECT * FROM tb_brand;
复制代码 - 在idea中创建基本的JavaWeb模块(前端页面就是上一节最后的成品。基本结构的代码可以直接复制之前笔记的brand项目部分的后端代码内容,因为是以学习为目的,个人还是建议从头开始敲,想不起来的再看之前的笔记)
1.查询所有

2.新增品牌

Servlet代码优化
Web 层的Servlet个数太多了,不利于管理和编写
将Servlet进行归类,对于同一个实体的操作方法,写到一个Servlet中。比如: BrandServlet、
UserServlet(需要用到反射的知识)

3.修改品牌
后台代码和新增品牌类似
4.删除品牌
后台代码和新增品牌类似
5.批量删除

6.分页查询
- select * from tb_brand limit 0,5;-- 从第1条开始查,查5条
复制代码 页面传递的参数:当前页码、每页显示条数
参数1:开始索引=(当前页码-1)*每页显示条数
参数2:查询的条目数=每页显示条数

有两种数据,ajax只能一次性接收数据,两种数据需要后端同时发给前端,必须将两种数据封装到一起。又需要将数据转成json,所以只能创建新的Bean类来建立对象。

7.条件查询
- 3个条件之间什么关系? AND
- 3个条件必须全部填写吗? 不需要→动态SQL
- 条件查询需要带分页吗? 需要

前端代码优化
之前的代码需要用到var _this=this;- var _this=this;
- axios({
- method: "post",
- url: "http://localhost:8080/brand-case/brand/selectByPageAndCondition?currentPage="+this.currentPage+"&pageSize="+this.pageSize,
- data:this.brand,
- }).then(function(response){
- //设置表格数据
- _this.tableData = response.data.rows;//{"rows":[],"totalCount":52}
- //设置总记录数
- _this.totalCount = response.data.totalCount;
- })
复制代码 可以改成以下方式,就不需要定义_this来获取data()中的数据了- axios({
- method: "post",
- url: "http://localhost:8080/brand-case/brand/selectByPageAndCondition?currentPage="+this.currentPage+"&pageSize="+this.pageSize,
- data:this.brand,
- }).then(response =>{
- //设置表格数据
- this.tableData = response.data.rows;//{"rows":[],"totalCount":52}
- //设置总记录数
- this.totalCount = response.data.totalCount;
- })
复制代码 完整代码
文件结构

代码
brand-case
<blockquote>src/main
java
com.itwen
mapper
BrandMapper.java- package com.itwen.mapper;
- import com.itwen.pojo.Brand;
- import org.apache.ibatis.annotations.*;
- import java.util.List;
- public interface BrandMapper {
- /**
- * 查询所有
- * @return
- */
- @Select("select * from tb_brand")
- @ResultMap("brandResultMap")
- List<Brand> selectAll();
- /**
- * 添加数据
- * @param brand
- */
- @Insert("insert into tb_brand values (null,#{brandName},#{companyName},#{ordered},#{description},#{status})")
- void add(Brand brand);
- /**
- * 修改数据
- * @param brand
- */
- @Update("UPDATE tb_brand SET brand_name= #{brandName},company_name=#{companyName},ordered=#{ordered},description=#{description},status=#{status} WHERE id=#{id}")
- void update(Brand brand);
- /**
- * 删除数据
- * @param id
- */
- @Delete("delete from tb_brand where id=#{id}")
- void deleteById(int id);
- /**
- * 批量删除
- * @param ids
- */
- void deleteByIds(@Param("ids") int[] ids);
- /**
- * 分页查询
- * @param begin
- * @param size
- * @return
- */
- @Select("select * from tb_brand limit #{begin},#{size}")
- @ResultMap("brandResultMap")
- List<Brand> selectByPage(@Param("begin") int begin,@Param("size") int size);
- /**
- * 查询总记录数
- * @return
- */
- @Select("select count(*) from tb_brand")
- int selectTotalCount();
- /**
- * 分页条件查询
- * @param begin
- * @param size
- * @param brand
- * @return
- */
- List<Brand> selectByPageAndCondition(@Param("begin") int begin,@Param("size") int size,@Param("brand") Brand brand);
- /**
- * 查询总记录数
- * @return
- */
- int selectTotalCountByCondition(Brand brand);
- }
复制代码 pojo
Brand.java- package com.itwen.pojo;
- public class Brand {
- private Integer id;
- private String brandName;
- private String companyName;
- private Integer ordered;
- private String description;
- private Integer status;
- public String getStatusStr(){
- if (status==null){
- return "未知";
- }
- return status==0? "禁用":"启用";
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getBrandName() {
- return brandName;
- }
- public void setBrandName(String brandName) {
- this.brandName = brandName;
- }
- public String getCompanyName() {
- return companyName;
- }
- public void setCompanyName(String companyName) {
- this.companyName = companyName;
- }
- public Integer getOrdered() {
- return ordered;
- }
- public void setOrdered(Integer ordered) {
- this.ordered = ordered;
- }
- public String getDescription() {
- return description;
- }
- public void setDescription(String description) {
- this.description = description;
- }
- public Integer getStatus() {
- return status;
- }
- public void setStatus(Integer status) {
- this.status = status;
- }
- }
复制代码 PageBean.java- package com.itwen.pojo;
- import java.util.List;
- public class PageBean<T> {
- //总记录数
- private int totalCount;
- //当前页数据
- private List<T> rows;//限制数据类型是为了防止存入的数据类型不一致,不使用<Brand>使用<T>是考虑到以后可能不只是用来存储Brand数组,例如查询用户列表
- public int getTotalCount() {
- return totalCount;
- }
- public void setTotalCount(int totalCount) {
- this.totalCount = totalCount;
- }
- public List<T> getRows() {
- return rows;
- }
- public void setRows(List<T> rows) {
- this.rows = rows;
- }
- }
复制代码 service
impl
BrandServiceImpl.java BrandService.java- package com.itwen.service;
- import com.itwen.pojo.Brand;
- import com.itwen.pojo.PageBean;
- import java.util.List;
- //这里service使用接口是为了降低与servlet的耦合度,目前展示没多大用,以后学了sping就懂了
- public interface BrandService {
- /**
- * 查询所有
- * @return
- */
- List<Brand> selectAll();
- /**
- * 添加数据
- * @param brand
- */
- void add(Brand brand);
- /**
- * 修改数据
- * @param brand
- */
- void update(Brand brand);
- /**
- * 删除数据
- * @param id
- */
- void deleteById(int id);
- /**
- * 批量删除
- * @param ids
- */
- void deleteByIds(int[] ids);
- /**
- * 分页查询
- * @param currentPage 当前页码
- * @param pageSize 每页显示条数
- * @return
- */
- PageBean<Brand> selectByPage(int currentPage, int pageSize);
- /**
- * 分页条件查询
- * @param currentPage
- * @param pageSize
- * @param brand
- * @return
- */
- PageBean<Brand> selectByPageAndCondition(int currentPage, int pageSize,Brand brand);
- }
复制代码 util
SqlSessionFactoryUtils.java- package com.itwen.util;
- import org.apache.ibatis.io.Resources;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.apache.ibatis.session.SqlSessionFactoryBuilder;
- import java.io.IOException;
- import java.io.InputStream;
- public class SqlSessionFactoryUtils {
- private static SqlSessionFactory sqlSessionFactory;
- static {
- try {
- String resource = "mybatis-config.xml";
- InputStream inputStream = Resources.getResourceAsStream(resource);
- sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static SqlSessionFactory getSqlSessionFactory() {
- return sqlSessionFactory;
- }
- }
复制代码 web.servlet
BaseServlet.java- package com.itwen.web.servlet;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- public class BaseServlet extends HttpServlet {
- @Override
- protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //获取请求路径
- String uri = req.getRequestURI();// brand-case/brand/selectAll
- // System.out.println(uri);
- //获取最后一段路径(也是方法名)
- int index = uri.lastIndexOf('/');
- String methodName = uri.substring(index+1);// /selectAll
- // System.out.println(methodName);
- Class<? extends BaseServlet> cls = this.getClass();//获取当前类
- //获取方法Method对象
- try {
- Method method = cls.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
- method.invoke(this,req,resp);
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
复制代码 mybatis-config.xml- package com.itwen.web.servlet;
- import com.alibaba.fastjson.JSON;
- import com.itwen.pojo.Brand;
- import com.itwen.pojo.PageBean;
- import com.itwen.service.BrandService;
- import com.itwen.service.impl.BrandServiceImpl;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.util.List;
- @WebServlet("/brand/*")
- public class BrandServlet extends BaseServlet{
- private BrandService brandService=new BrandServiceImpl();
- /**
- * 查询所有
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //调用service查询
- List<Brand> brands = brandService.selectAll();
- //数据转为json
- String jsonString = JSON.toJSONString(brands);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- /**
- * 添加品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.add(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 修改信息
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.update(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- public void deleteById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int
- int id = JSON.parseObject(params, int.class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteById(id);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 批量删除品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void deleteByIds(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int[]
- int[] ids = JSON.parseObject(params, int[].class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteByIds(ids);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 分页查询
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectByPage(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- //调用service查询
- PageBean<Brand> brandPageBean = brandService.selectByPage(currentPage, pageSize);
- //数据转为json
- String jsonString = JSON.toJSONString(brandPageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- public void selectByPageAndCondition(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service查询
- PageBean<Brand> pageBean = brandService.selectByPageAndCondition(currentPage, pageSize,brand);
- //数据转为json
- String jsonString = JSON.toJSONString(pageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- }
复制代码 webapp
WEB-INF
web.xml(这个不自己写,创建项目结构时使用idea生成)- [/code][/indent]brand.html
- [code] Titlepackage com.itwen.web.servlet;
- import com.alibaba.fastjson.JSON;
- import com.itwen.pojo.Brand;
- import com.itwen.pojo.PageBean;
- import com.itwen.service.BrandService;
- import com.itwen.service.impl.BrandServiceImpl;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.util.List;
- @WebServlet("/brand/*")
- public class BrandServlet extends BaseServlet{
- private BrandService brandService=new BrandServiceImpl();
- /**
- * 查询所有
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //调用service查询
- List<Brand> brands = brandService.selectAll();
- //数据转为json
- String jsonString = JSON.toJSONString(brands);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- /**
- * 添加品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.add(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 修改信息
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.update(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- public void deleteById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int
- int id = JSON.parseObject(params, int.class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteById(id);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 批量删除品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void deleteByIds(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int[]
- int[] ids = JSON.parseObject(params, int[].class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteByIds(ids);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 分页查询
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectByPage(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- //调用service查询
- PageBean<Brand> brandPageBean = brandService.selectByPage(currentPage, pageSize);
- //数据转为json
- String jsonString = JSON.toJSONString(brandPageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- public void selectByPageAndCondition(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service查询
- PageBean<Brand> pageBean = brandService.selectByPageAndCondition(currentPage, pageSize,brand);
- //数据转为json
- String jsonString = JSON.toJSONString(pageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- } 查询 批量删除 新增package com.itwen.web.servlet;
- import com.alibaba.fastjson.JSON;
- import com.itwen.pojo.Brand;
- import com.itwen.pojo.PageBean;
- import com.itwen.service.BrandService;
- import com.itwen.service.impl.BrandServiceImpl;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.util.List;
- @WebServlet("/brand/*")
- public class BrandServlet extends BaseServlet{
- private BrandService brandService=new BrandServiceImpl();
- /**
- * 查询所有
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //调用service查询
- List<Brand> brands = brandService.selectAll();
- //数据转为json
- String jsonString = JSON.toJSONString(brands);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- /**
- * 添加品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.add(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 修改信息
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.update(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- public void deleteById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int
- int id = JSON.parseObject(params, int.class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteById(id);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 批量删除品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void deleteByIds(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int[]
- int[] ids = JSON.parseObject(params, int[].class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteByIds(ids);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 分页查询
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectByPage(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- //调用service查询
- PageBean<Brand> brandPageBean = brandService.selectByPage(currentPage, pageSize);
- //数据转为json
- String jsonString = JSON.toJSONString(brandPageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- public void selectByPageAndCondition(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service查询
- PageBean<Brand> pageBean = brandService.selectByPageAndCondition(currentPage, pageSize,brand);
- //数据转为json
- String jsonString = JSON.toJSONString(pageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- } 提交 取消package com.itwen.web.servlet;
- import com.alibaba.fastjson.JSON;
- import com.itwen.pojo.Brand;
- import com.itwen.pojo.PageBean;
- import com.itwen.service.BrandService;
- import com.itwen.service.impl.BrandServiceImpl;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.util.List;
- @WebServlet("/brand/*")
- public class BrandServlet extends BaseServlet{
- private BrandService brandService=new BrandServiceImpl();
- /**
- * 查询所有
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //调用service查询
- List<Brand> brands = brandService.selectAll();
- //数据转为json
- String jsonString = JSON.toJSONString(brands);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- /**
- * 添加品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.add(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 修改信息
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.update(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- public void deleteById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int
- int id = JSON.parseObject(params, int.class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteById(id);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 批量删除品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void deleteByIds(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int[]
- int[] ids = JSON.parseObject(params, int[].class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteByIds(ids);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 分页查询
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectByPage(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- //调用service查询
- PageBean<Brand> brandPageBean = brandService.selectByPage(currentPage, pageSize);
- //数据转为json
- String jsonString = JSON.toJSONString(brandPageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- public void selectByPageAndCondition(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service查询
- PageBean<Brand> pageBean = brandService.selectByPageAndCondition(currentPage, pageSize,brand);
- //数据转为json
- String jsonString = JSON.toJSONString(pageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- } 修改 删除package com.itwen.web.servlet;
- import com.alibaba.fastjson.JSON;
- import com.itwen.pojo.Brand;
- import com.itwen.pojo.PageBean;
- import com.itwen.service.BrandService;
- import com.itwen.service.impl.BrandServiceImpl;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.util.List;
- @WebServlet("/brand/*")
- public class BrandServlet extends BaseServlet{
- private BrandService brandService=new BrandServiceImpl();
- /**
- * 查询所有
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //调用service查询
- List<Brand> brands = brandService.selectAll();
- //数据转为json
- String jsonString = JSON.toJSONString(brands);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- /**
- * 添加品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.add(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 修改信息
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service添加
- brandService.update(brand);
- //响应成功标识
- resp.getWriter().write("success");
- }
- public void deleteById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int
- int id = JSON.parseObject(params, int.class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteById(id);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 批量删除品牌
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void deleteByIds(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为 int[]
- int[] ids = JSON.parseObject(params, int[].class);//fastjson也可以用来字符串转数组
- //调用services批量删除
- brandService.deleteByIds(ids);
- //响应成功标识
- resp.getWriter().write("success");
- }
- /**
- * 分页查询
- * @param req
- * @param resp
- * @throws ServletException
- * @throws IOException
- */
- public void selectByPage(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- //调用service查询
- PageBean<Brand> brandPageBean = brandService.selectByPage(currentPage, pageSize);
- //数据转为json
- String jsonString = JSON.toJSONString(brandPageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- public void selectByPageAndCondition(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //接收数据 当前页码和每页条数 url?currentPage=1&pageSize=5
- String _currentPage = req.getParameter("currentPage");
- String _pageSize = req.getParameter("pageSize");
- int currentPage = Integer.parseInt(_currentPage);
- int pageSize = Integer.parseInt(_pageSize);
- req.setCharacterEncoding("UTF-8");//如果post的数据乱码,加上这句
- //接收品牌数据
- BufferedReader br = req.getReader();
- String params = br.readLine();
- //转为Brand对象
- Brand brand = JSON.parseObject(params, Brand.class);
- //调用service查询
- PageBean<Brand> pageBean = brandService.selectByPageAndCondition(currentPage, pageSize,brand);
- //数据转为json
- String jsonString = JSON.toJSONString(pageBean);
- //写数据
- resp.setContentType("text/json;charset=utf-8");
- resp.getWriter().write(jsonString);
- }
- } 提交 取消
复制代码 pom.xml- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
- </web-app>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |