修改商品数据之后出现乱码
package com.imooc.shop.action; import com.imooc.shop.bean.Article; import com.imooc.shop.bean.ArticleType; import com.imooc.shop.service.ShopService; import com.imooc.shop.utils.Pager; import org.springframework.util.StringUtils; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; import java.io.IOException; import java.util.List; import java.util.UUID; @WebServlet("/list") @MultipartConfig public class ListServlet extends HttpServlet { private HttpServletRequest request; private HttpServletResponse response; private ShopService shopService; @Override public void init() throws ServletException { super.init(); ServletContext servletContext = this.getServletContext(); WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext); shopService = (ShopService)context.getBean("shopService"); } @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try{ this.request=req; this.response=resp; request.setCharacterEncoding("UTF-8"); String method = request.getParameter("method"); switch (method){ case "getAll": getAll(); break; case "deleteById": deleteById(); break; case "preArticle": preArticle(); break; case "showUpdate": showUpdate(); break; case "updateArticle": updateArticle(); break; } }catch (Exception e){ e.printStackTrace(); } } public void updateArticle(){ //接收表单数据 String code = request.getParameter("code"); String title = request.getParameter("titleStr"); String supplier = request.getParameter("supplier"); String locality = request.getParameter("locality"); String price = request.getParameter("price"); String storage = request.getParameter("storage"); String description = request.getParameter("description"); String id = request.getParameter("id"); // 物品编号 String picUrl = request.getParameter("picUrl"); // 物品旧封面 //定义一个商品对象,封装界面提交的参数 Article article = new Article(); //接收用户可能上传的封面 try { //如果用户上传了这里代码是不会出现异常了 //如果没有上传这里出现异常 Part part = request.getPart("image"); //保存到项目的路径中去 String sysPath = request.getSession().getServletContext().getRealPath("/resources/images/article"); //定义一个新的图片名称 String fileName = UUID.randomUUID().toString(); //上传文件的内容性质 String contentDispostion = part.getHeader("content-disposition"); //获取上传文件的后缀名 String suffix = contentDispostion.substring(contentDispostion.lastIndexOf("."),contentDispostion.length()-1); fileName += suffix; //把图片保存到路径中去 part.write(sysPath+"/"+fileName); picUrl = fileName; }catch (Exception e){ e.printStackTrace(); } article.setId(Integer.valueOf(id)); article.setImage(picUrl); ArticleType type = new ArticleType(); type.setCode(code); article.setArticleType(type); article.setTitle(title); article.setSupplier(supplier); article.setLocality(locality); article.setPrice(Double.parseDouble(price)); article.setStorage(Integer.parseInt(storage)); article.setDescription(description); shopService.updateArticle(article); request.setAttribute("tip","修改商品成功"); showUpdate(); } private void showUpdate(){ try { String id = request.getParameter("id"); Article article = shopService.getArticleById(id); //查询出所有的商品类型 List<ArticleType> types = shopService.getArticleTypes(); request.setAttribute("types",types); request.setAttribute("article",article); request.getRequestDispatcher("/WEB-INF/jsp/updateArticle.jsp").forward(request,response); }catch (Exception e){ e.printStackTrace(); } } private void preArticle(){ try { String id = request.getParameter("id"); Article article = shopService.getArticleById(id); request.setAttribute("article",article); request.getRequestDispatcher("/WEB-INF/jsp/preArticle.jsp").forward(request,response); }catch (Exception e){ e.printStackTrace(); } } private void deleteById() throws ServletException, IOException { try { String id = request.getParameter("id"); shopService.deleteById(id); request.setAttribute("tip","删除成功"); }catch (Exception e){ request.setAttribute("tip","删除失败"); e.printStackTrace(); } request.getRequestDispatcher("/list?method=getAll").forward(request,response); } private void getAll() throws ServletException, IOException { //考虑分页查询 Pager pager = new Pager(); //看是否传入了分页参数的页码 String pageIndex = request.getParameter("pageIndex"); if(!StringUtils.isEmpty(pageIndex)){ int pSize = Integer.valueOf(pageIndex); pager.setPageIndex(pSize); } //接收一级类型编号查询 String typeCode = request.getParameter("typeCode"); //接收二级类型编号查询 String secondType = request.getParameter("secondType"); request.setAttribute("secondType",secondType); //接收商品标题 String title = request.getParameter("title"); request.setAttribute("title",title); //根据一级类型查询对应的二级类型 if(!StringUtils.isEmpty(typeCode)){ List<ArticleType> secondTypes = shopService.loadSecondTypes(typeCode); request.setAttribute("secondTypes",secondTypes); request.setAttribute("typeCode",typeCode); } //查询所有一级类型数据 List<ArticleType> firstArticleType = shopService.loadFirstArticleType(); //查询所有商品信息 List<Article> articles = shopService.searchArticles(typeCode,secondType,title,pager); request.setAttribute("firstArticleTypes",firstArticleType); request.setAttribute("articles",articles); request.setAttribute("pager",pager); request.getRequestDispatcher("/WEB-INF/jsp/list.jsp").forward(request,response); } }
2
收起
正在回答
1回答
你好同学,请问你在创建数据库的时候有没有将字符编码格式设置为utf8呢?建议你使用workbench查询一下数据库中的数据是否为乱码呢?祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星