1.
2.
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.10.0</version>
</dependency>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n" />
</Console>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
3.
org.hibernate.hql.internal.ast.QuerySyntaxException: ### is not mapped
这个异常是hql语句写错了,hibernate中的hql不是sql,区别在于from后面的表名不是数据库中的表名,是实体类名字。
如:
public List<Voucher> getAll(){
String hql="from voucher";//应该写成String hql="from Voucher";
Query query=sessionFactory.getCurrentSession().createQuery(hql);
return query.list();
}4.
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
- 1
5.hql查询多条记录,结果都是重复第一条记录
出现这种情况是因为查询的条件字段为主键,并且该主键设置为可重复,例如:
数据库表:
当cid为该表的主键且hql查询语句为如下时
hql = "select sid from sc s where s.cid = 1"
- 1
查询出来的结果就会被第一条覆盖,结果为三条10001
5.在Action中出现method is not allowed!的错误
有两种做法:
(1)针对Action,在xml中配置<allowed-methods>regex:.*</allowed-methods>,允许所有。或者配置<allowed-methods>login,logout,find</allowed-methods>,仅允许特定名字列表的方法被执行。在注解版中,这个配置等价于:@AllowedMethods("regex:.*")
(2)在package中添加global-allowed-methods,设置该package下所有action允许的方法列表。
参考:
http://blog.sina.com.cn/s/blog_45ef2e490102ye10.html
https://blog.csdn.net/qq_29407009/article/details/51474118
https://ask.csdn.net/questions/260958
<package name="default" extends="struts-default" namespace="/">
<!-- 关键地方 struts2.5 为了提升安全性,添加了 allomethod 这么个玩意-->
<global-allowed-methods>regex:.*</global-allowed-methods>
<action name="login*" class="com.maobo.action.LoginAction" method="{1}">
<result name="ok">/WEB-INF/page/success.jsp</result>
<result name="error">/WEB-INF/page/error.jsp</result>
</action>
</package>
6.struts中顺序
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*