1.查询所有数据
- 获取前端的请求参数 ,去数据库 查.查了返回查询结果.
- 将数据放在 request 的请求域中 ,然后将数据请求转发 到 页面中去.
- 页面 遍历数据,展示出来
1.1 dao 查询数据库
/**
* 查询所有品牌信息
* @return
*/
@Select("select * from tb_brand")
List<Brand> selectAll();
1.2 service 处理查询结果
/**
* 查询所有品牌信息
* @return
*/
public List<Brand> selectAll(){
SqlSession sqlSession = factory.openSession();
BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
List<Brand> list = brandMapper.selectAll();
return list;
}
1.3controller 做出响应
private BrandService brandService=new BrandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Brand> list = brandService.selectAll();
request.setAttribute("brands",list);
request.getRequestDispatcher("/brand.jsp").forward(request,response);
}
1.4 前端页面展示数据
<c:forEach items="${brands}" var="brand" varStatus="vs">
<tr align="center">
<td>${vs.count}</td>
<td>${brand.brandName}</td>
<td>${brand.companyName}</td>
<td>${brand.ordered}</td>
<td>${brand.description}</td>
<td>${brand.status==1?"启用":"禁用"}</td>
<td><a href="/day10-brand-demo/selectByIdServlet?id=${brand.id}">修改</a> <a href="/day10-brand-demo/DeleteServlet?id=${brand.id}">删除</a></td>
</tr>
</c:forEach>
2添加数据
- 前端页面 点击 增加 按钮时 ,页面跳转到添加页面。。进行一次跳转
- 添加页面 完成信息后 点击提交后,请求参数 发生送到后台 controller层 接收
- 调用service 层和dao层 完成添加方法
- 添加成功 需要 重定向到查询所有的页面
2.1 前端页面跳转到添加页面
<input type="button" value="新增" onclick="toAdd()"><br>
<script>
/*上面需要添加个 点击事件 */
function toAdd() {
/*跳转到添加页面*/
location.href="/day10-brand-demo/addBrand.html"
}
</script>
2.2 添加页面 完成后 跳转到conrtroller层
/* 跳转到conrtroller层*/
<form action="/day10-brand-demo/addServlet" method="post">
品牌名称:<input name="brandName"><br>
企业名称:<input name="companyName"><br>
排序:<input name="ordered"><br>
描述信息:<textarea rows="5" cols="20" name="description"></textarea><br>
状态:
<input type="radio" name="status" value="0">禁用
<input type="radio" name="status" value="1">启用<br>
<input type="submit" value="提交">
</form>
2.3 conrtroller层业务 最后重定向到查询所有,可以展示新增的那条数据
private BrandService brandService =new BrandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置请求中文乱码问题
request.setCharacterEncoding("utf-8");
//2.获取请求参数 封装成brand对象
Brand brand = new Brand();
try {
BeanUtils.populate(brand, request.getParameterMap());
} catch (Exception e) {
e.printStackTrace();
}
//3.调用services 的 add方法
brandService.add(brand);
//4.重定向到selectAll这个类.重新查询一下所有,刷新列表
response.sendRedirect(request.getContextPath()+"/selectAllServlet");
}
2.4service 和dao 代码 略
3 修改数据
3.1 需要回显数据
- 点击修改 按钮后,会跳转到 修改页面 ,修改页面具有完整的数据信息.—>数据回显
- 根据id先去数据库查询. 查询后的结果封装的到request 域中共享.请求转发到前端 修改界面
3.2 修改数据
- 根据 id修改,在界面是看不到的.需要我们在前端界面,在如隐藏属性.
- 修改的值,要动态获取,采用EL表达式来操作.
<c:forEach items="${brands}" var="brand" varStatus="vs">
<tr align="center">
<td>${vs.count}</td>
<td>${brand.brandName}</td>
<td>${brand.companyName}</td>
<td>${brand.ordered}</td>
<td>${brand.description}</td>
<td>${brand.status==1?"启用":"禁用"}</td>
<td><a href="/day10-brand-demo/selectByIdServlet?id=${brand.id}">修改</a> <a href="/day10-brand-demo/DeleteServlet?id=${brand.id}">删除</a></td>
</tr>
</c:forEach>
<form action="/day10-brand-demo/updateServlet" method="post">
<%--id 隐藏域 加上el 的动态获取数据--%>
<input type="hidden" name="id" value="${brand.id}">
品牌名称:<input name="brandName" value="${brand.brandName}"><br>
企业名称:<input name="companyName" value="${brand.companyName}"><br>
排序:<input name="ordered" value="${brand.ordered}" ><br>
描述信息:<textarea rows="5" cols="20" name="description">
${brand.description}
</textarea><br>
状态:
<input type="radio" name="status" value="0" ${brand.status==0?"checked":""}>禁用
<input type="radio" name="status" value="1" ${brand.status==1?"checked":""}>启用<br>
<input type="submit" value="提交">
</form>
private BrandService brandService=new BrandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
Brand brand = brandService.selectById(id );
request.setAttribute("brand",brand);
request.getRequestDispatcher("/update.jsp").forward(request,response);
}
private BrandService brandService=new BrandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//2.获取请求参数 封装成brand对象
Brand brand = new Brand();
try {
BeanUtils.populate(brand, request.getParameterMap());
} catch (Exception e) {
e.printStackTrace();
}
//3.调用services 的 add方法
brandService.update(brand);
//4.请求转发到selectAll这个类.重新查询一下所有,刷新列表
request.getRequestDispatcher("/selectAllServlet").forward(request,response);
}