1、空指针异常

public class CanvasServlet extends HttpServlet {

    private CanvasService canvasService;

    private CategoryService categoryService;

    @Override

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        if("/canvas/list.do".equals(req.getServletPath())){

            //查询

            String categoryIdStr = req.getParameter("categoryId");

            List<Canvas> canvases=null;

            if(categoryIdStr==null){

                canvases = canvasService.getCanvases(, );//由登录界面进入

            }else {

                Integer categoryId= Integer.valueOf(categoryIdStr);

                canvases = canvasService.getCanvasesByCategoryId(categoryId, , );//点击分类查询

            }

            List<Category> categories = categoryService.getCategory();

            req.setAttribute("canvases",canvases);

            req.setAttribute("categories",categories);

            req.getRequestDispatcher("/WEB-INF/view/biz/canvas_list.jsp").forward(req,resp);

        }else if ("/canvas/addPrompt.do".equals(req.getServletPath())){

            //转跳进添加页面

List<Category> categories =
categoryService.getCategory(); req.setAttribute("categories",categories);//分类下拉列表 req.getRequestDispatcher("/WEB-INF/view/biz/add_canvas.jsp").forward(req,resp);

当我把list集合放在方法外面的时候报空指针异常,改到如上位置则没有问题

2、

req.getRequestDispatcher("/WEB-INF/views/biz/canvas_list.jsp").forward(req,resp);

找不到指定页面

而用户不能访问WEB-INF目录下的文件,只有程序内部转发的时候才能转发到WEB-INF下的JSP。

3、

Servlet.service() for servlet jsp threw exception

javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String

原因:jsp在接收requestcontext域对象时候没有使用el表达式,修改之后正确显示

4、session第二次打开会话则没有了刚才的登录信息

原因:session会话中session默认保持30分钟,但是cookie在第二次打开会话时就已经丢失,所以需要设置cookie持久化到磁盘并设置保存时间,代码如下:

Cookie cookie = new Cookie("username",username);  //"JSESSIONID"为固定值

cookie.setPath("/*");

cookie.setMaxAge(30*60);

response.addCookie(cookie);

5、

Error updating database.  Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [category, param1]

问题:mybatis引入的时候没有找到实体对应的数据,语法错误,因为参数只做了category,其中的元素需要用category找到,修改之后为:

@Insert("insert into category(name,createName,createTime,updateTime,description) " +

"values(#{category.name},#{category.createName},#{category.createTime},#{category.updateTime},#{category.description})")

void addCategory(@Param("category") Category category);

6、用filter添加全局的乱码处理之后用post接收到的表单数据还是乱码

原因:在提交表单时,浏览器默认使用编码方式不是utf-8来发送请求,而编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding("utf-8")对请求进行统一编码,

http://www.blogjava.net/yaya/archive/2008/10/05/232513.html

但是表单还是乱码,问题不在这里

问题是fileupload默认解码为ISO-8859-1,filter并不能解决fileupload的乱码

解决方法就是这段代码,其中item是fileupload中的FileItem:

String value = new String(item.getString().getBytes("ISO-8859-1"), "UTF-8") ;

这个解决方法不具有通用性,换个环境很可能就不能用了,更好的办法:

获取form中字段(即除了上传的文件以外的那些元素)是中文,如果出现了乱码,使用了如下代码,解决了乱码的问题

String value = item.getString("UTF-8");

博客:http://www.cnblogs.com/qrlozte/p/3176545.html

小tips:

Surround with快捷键:

基于mybatis设计简单信息管理系统2的更多相关文章

  1. 基于mybatis设计简单信息管理系统---jsp页面

    1.在设计编辑界面的时候需要有一个下拉的列表页,想要他指定到指定的值: <select id="categoryId" name="categoryId" ...

  2. 基于mybatis设计简单信息管理系统1

    驼峰式命名法 骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始:第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirs ...

  3. 基于mybatis设计简单OA系统问题3

    1.  问题:使用mybatis更新数据失败 描述:java.lang.NullPointerException 提交表单 com.duma.entity.User.updateUser - ==&g ...

  4. 基于mybatis设计简单OA系统问题1

    全类名与全路径 全类名是某个文件在项目中的位置,格式为包名.类名 路径分为相对路径和绝对路径. 绝对路径是指这个文件在操作系统中的位置, 相对路径通过这个文件的上一级  ./  或下一级/ 来指定文件 ...

  5. 基于mybatis设计简单OA系统问题2

    1.<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <fm ...

  6. 记C++课程设计--学生信息管理系统

                                                                                  C++课程设计--学生信息管理系统     ...

  7. Anynote 基于ExtJS多用户个人信息管理系统

    Anynote——个人信息管理系统 —–主要用于学习交流—– 源码下载:https://git.oschina.net/xiyt/Anynote.git 一.系统说明 Anynote是一个基于extj ...

  8. Java课程设计---学生信息管理系统需求分析及总体设计

    按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...

  9. 基于Java的简单银行管理系统(MVC设计模式)

    项目导航 功能展示 项目描述 项目结构 `data` `service` `utils` `view ` 欠缺与总结 源码下载 功能展示 本系统基于命令台窗口,暂未与图形页面结合.话不多说,先上效果图 ...

随机推荐

  1. Fedora14 mount出现错误时解决办法【亲测有效】

    挂载时出现了如上图所示问题,看第一条英语提示,我刚开始以为是文件权限不够,改了权限之后,依旧存在这样的问题, 于是,我上网查阅了一些资料: 在解决之前,先让我们一起来了解一下nfs: NFS最大功能就 ...

  2. 一些实用的浏览器meta

    标签: 兼容性 meta 通用 <!--声明文档使用的字符编码--> <meta charset='utf-8′> <!--viewport定义--> <me ...

  3. Python面向对象(三)

    一.绑定方法与非绑定方法 一.绑定方法:绑定给谁就应该由谁来调用,谁来调用就会将谁当作第一个参数传入 1.绑定给对象的方法:类中定义的函数默认就是绑定给对象的 2.绑定给类的方法:为类中定义的函数加上 ...

  4. 4.JavaScript

    1.简介 JavaScript 是一种轻量级的编程语言,是一种动态类型.弱类型.基于原型的脚本语言. JavaScript,通常缩写为JS,是一种高级的,解释执行的编程语言.JavaScript是一门 ...

  5. BZOJ3261: 最大异或和(可持久化trie树)

    题意 题目链接 Sol 设\(sum[i]\)表示\(1 - i\)的异或和 首先把每个询问的\(x \oplus sum[n]\)就变成了询问前缀最大值 可持久化Trie树维护前缀xor,建树的时候 ...

  6. html meta标签实现页面跳转

    refresh用于刷新与跳转(重定向)页面 refresh出现在http-equiv属性中,使用content属性表示刷新或跳转的开始时间与跳转的网址 <!DOCTYPE html> &l ...

  7. 用canvas绘制一个简易时钟

    在见识了html5中canvas的强大,笔者准备制作一个简易时钟. 下面就是成果啦,制作之前我们先分析一下,绘制一个时钟需要做哪些准备. 一 . 1.首先这个时钟分为表盘,指针(时针,分针,秒针)和数 ...

  8. AJAX跨域POST发送json时,会先发送一个OPTIONS预请求

    我们会发现,在很多post,put,delete等请求之前,会有一次options请求. 根本原因就是,W3C规范这样要求了!在跨域请求中,分为简单请求(get和部分post,post时content ...

  9. (六)JavaScript之[Regular Expression]与[错误(try, catch, throw)]

    10].正则表达式 /** * 正则表达式(Regular Expression): * * 用于文本搜索和文本替换 * */ /** * /good/i是一个正则表达式. * good是一个模式(用 ...

  10. Spring实践系列-入门篇(一)

    本文主要介绍了在本地搭建并运行一个Spring应用,演示了Spring依赖注入的特性 1 环境搭建 1.1 Maven依赖 目前只用到依赖注入的功能,故以下三个包已满足使用. <properti ...