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

全类名与全路径

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

 

实体类用int还是integer

所有的sql使用的默认类型都是null,如果你把POJO中的映射属性类型写为基本类型,当查找不到记录的时候,返回null赋给基本类型就会出错 
包装类型都可以相应的转化为基本类型,如果你设置为基本类型比如int的话,它默认初始化为0,但0本身就代表着一种含义,如果为null的话,既好理解,也可以方便开发人员转化!而且很多xml配置中默认都是null。

 

Mybatis的工作流程

mybatis-config.xml—InputStream—SqlSessionFactory—SqlSession—执行配置好的SQL

 

ThreadLocal

ThreadLocal是一个关于创建线程局部变量的类。

通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。

在Java中,栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属线程中可见,即栈内存可以理解成线程的私有内存。而堆内存中的对象对所有线程可见。堆内存中的对象可以被所有线程访问。

其实不是,因为ThreadLocal实例实际上也是被其创建的类持有(更顶端应该是被线程持有)。而ThreadLocal的值其实也是被线程实例持有。

它们都是位于堆上,只是通过一些技巧将可见性修改成了线程可见。

 

问题:

java.lang.NullPointerException
        com.duma.dao.UserDao.findAllList(UserDao.java:25)
        com.duma.service.UserService.findAllList(UserService.java:12)
        com.duma.servlet.UserListServlet.doGet(UserListServlet.java:19)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 

解决:

1、properties配置文件出错

2、Dao语法出错,没有使用赋值之后的sqlsession。

问题:

 

在jsp页面用jstl和el写的循环列表加载不出来。

思路:首先确认list集合是不是传入到了jsp页面。通过控制台打印和debug检查确认数据已经传入jsp页面,得出结论为jsp页面错误。

检查语法格式,并和老师的对照发现格式没有问题。最后得出结论是jstl和el的语句没有加载出来,Google得到:

检查<web-app>的约束版本

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd" >

资料显示:如果isELIgnored是true,当EL表达式出现在文本或者标签属性时被忽略。如果是false,则EL表达式通过容器来决定如何解析,只有属性有返回表达式被设置为true或者表达式是一个延迟表达式时不解析。

使用Servlet2.4的描述符的JSP页面默认是解析EL表达式,即表达式有效;而使用Servlet2.3或者更早的描述符的JSP页面默认是忽略EL表达式的,即不解析EL表

解决办法:

01.   在每个jsp页面增加声明

<%@page isELIgnored="false" %>

02.   更改<web-app>的约束版本

将版本修改为2.4及以上版本

附各版本约束

web-app 2.3
<!DOCTYPE web-app PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" >
web-app 2.4
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
web-app 2.5
<web-app xmlns="http://java.sun.com/xml/ns/javaee"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
version="2.5"> 

jdk版本1.5以上

web-app 3.0
<web-app  
version="3.0"  
xmlns="http://java.sun.com/xml/ns/javaee"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

jdk版本1.6以上,开始支持jsp-config配置

转载于:https://www.cnblogs.com/thyHome/p/9012098.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
**smart-web2** 是一套相对简单OA系统;包含了流程设计器,表单设计器,权限管理,简单报表管理等功能; 系统后端基于SpringMVC+Spring+Hibernate框架,前端页面采用JQuery+Bootstrap等主流技术; 流程引擎基于Snaker工作流;表单设计器基于雷劈网WEB表单设计器。 系统主要功能有: >1.系统管理 >>系统管理包含有:基础信息管理、系统权限管理、版本管理、子系统管理。 > >2.流程管理 >>流程管理包含有:流程设计器、流程实例管理、流程页面模版管理等功能。 > >3.表单管理 >>表单管理包含有:表单设计器、表管理、表单帮助信息管理等。 > >4.我的办公 >>我的待办、我的已办; > >5.简单报表管理 >>简单报表管理包含:简单报表的设计、报表管理等。 使用说明 ======= ------- ---数据库MySQL5.6以上 ---下载后把data目录下的smart-web2.zip解压;然后解压出来的脚本文件(“smart-web2.sql”)导入到mysql数据库中;注:建库时,字符集编码为:utf8(utf8_general_ci) ---修改配置文件“jdbc.properties”,改成对应数据库的用户名和密码 ---“sysconfig.properties”系统配置文件;需要修改“root.dir”属性,设置为系统上传文件时用来存放的根目录 ----系统管理员用户名为:admin;密码为:123456 ----linux类系统需要修改mysql的配置文件,改为数据库表名不区分大小写(lower_case_table_names=1) 环境要求 ------------ 1.jdk要求1.7及以上; 2.tomcat6或tomcat7; 3.eclipse版本4.4以上; 4.浏览器要求:IE8及以上(最理想的是IE10及以上),火狐,chrome等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值