Category - IT技术

java hibernate    2017-07-19 23:47:47    368

因为我使用的是hibernate的注解配置,错误出在使用ManyToOne并进行级联查询的时候,我的注解配置是这样的

@ManyToOne(fetch = FetchType.LAZY,cascade=CascadeType.ALL)

原因是因为FetchType.LAZY相当于配置文件中的lazy设置为true,

解决办法就是改为

@ManyToOne(fetch = FetchType.EAGER,cascade=CascadeType.ALL)


在使用配置文件的时候也是会出现这个错误的,具体修改方式雷同,即把lazy设置为false

 


 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

java shiro    2017-07-19 23:47:07    422

关于shiro错误的分析
错误提示:

org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code,either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton.  This is an invalid application configuration.


错误原因:

在web.xml中配置shiro filter的时候,shiro filter放置位置放到了struts2 filter后面


原因分析:

如果使用struts2,那么在struts2加载静态资源的时候,需要将静态资源SecurityUtils也加载进去,如果将shiro filter放置位置放到了struts2 filter后面,那么必将导致无法加载到struts2中去,而后使用SecurityUtils.getSubject();的时候,导致出错,


解决办法:

shiro的filter应该放在struts2的 filter的上面

还可以在使用之前使用这种方式:即在SecurityUtils.getSubject();之前加入如下代码

 

Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
// 创建SecurityManager (根据配置创建SecurityManager实例)
SecurityManager security = factory.getInstance();
SecurityUtils.setSecurityManager(security);

这个想必不用解释了吧

 

 


 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

Extjs 前端    2017-07-19 23:46:18    7

话不多说,贴上代码

html代码:

 

	





	.my_row_class{ background:gray;}

	
	
	
	


js代码,其中应-----隔开的代码即为关键代码,自己分析吧:

Ext.onReady(function(){
    Ext.QuickTips.init();  
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    // sample static data for the store
    var myData = [
        ['3m Co',                               71.72, 0.02,  0.03,  '9/1 12:00am'],
        ['3m Co',                               71.72, 0.02,  0.03,  '9/1 12:00am'],
        ['Alcoa Inc',                           29.01, 0.42,  1.47,  '9/1 12:00am'],
        ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],
        ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],
        ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],          
        ['Wal-Mart Stores, Inc.',               45.45, 0.73,  1.63,  '9/1 12:00am']
    ];

    /**
     * Custom function used for column renderer
     * @param {Object} val
     */
    function chang
java shiro    2017-07-19 23:45:15    315

org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - **, rememberMe=false] did not match the expected credentials.

shiro在实现登陆认证的时候,一般从前端传来的是明文密码,而我们库中存放的是hash值,于是我们就需要转换下user的密码,

当然,我们有可能会在使用验证查询的时候,将user的密码转换成hash,然而在loginAction中,存放的user中的密码仍为明文,此时会出现错误

解决办法,在loginAction获取到pwd后,将其替换为hash,然后认证成功后存放到session中就ok了

 

user.setPwd(MD5Util.md5(user.getPwd())); 

 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

java jetty web容器    2017-07-19 23:32:47    5
1、准备好一个非常简单点的web项目(maven项目)
2、准备好maven环境,并配置pom文件,关于jetty内容如下:
<!-- jetty dependecies begin -->
  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-server</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-webapp</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-continuation</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-jsp</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>
  <!-- jetty dependecies end -->

3、使用eclipse对maven项目进行build,获取build后的项目目录(或者将项目达成war包)

4、创建运行配置jetty的Server类
    运行war包的类
public class WebAppWarServer {
 public static void main(String[] args) throws Exception {
  Server server = new Server(8080);

  WebAppContext context = new WebAppContext();
  contex
1/14