eclipse整合ssh所遇见的问题

eclipse整合ssh完毕的情况下,启动tomcat时遇见的错误与提交请求所遇见的错误,我总结了下,希望对你们有所帮助

1.ssh使用注解来进行依赖注入的时候,action层总报server层注入的对象为空,显而易见,server层注入失败,从而影响action层的调用为空!通过总结和收查总结有两点

    1.1  这是我action的代码

@Controller
public class LoginAction extends ActionSupport {
@Resource(name="userBiz")
        private UserBiz userBiz;

private  Users u;
private String code;

@Resource(name="userBiz")的userBiz必须与private UserBiz userBiz;的一致,如果不一致,说明你注解不正确,又可以不用Resource,可以采用spring自带的@Autowired注解,想要知道的,可以网上看

  1.2  如果你的注解正确,但还是报错,说明你缺少jar包啦:struts2-spring-plugin-2.5.5.jar

2.在调用session时,sessionFactory报空,这里我是用注解的;配置文件,前提示正确的;

//dao层相关代码

@Repository
public class UserDao extends sf {

//sessionFactory的注入代码

 @Resource
     protected  SessionFactory sessionFactory;
public static final ThreadLocal session =new ThreadLocal();  //用ThreadLocal模式 (线程局部变量模式) 管理Session
   public  Session getSession()
   { 
    Session s=(Session) session.get();
    if(s==null){
    s=sessionFactory.getCurrentSession();
    }
   
       return s;
   }

你可以借鉴下!

3.最后是action的访问上,我用的2.5struts,并且是通配符访问的,配置如下,如果你用的是2.3版本以后的话,你可以借鉴下:

主struts配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <!-- 指定默认编码集 -->  
    <constant name="struts.i18n.encoding" value="UTF-8"></constant>  
    <!-- 指定需要Struts2处理的请求后缀 -->  
    <constant name="struts.action.extension" value="do,action"></constant>  
    <!-- 设置浏览器是否缓存静态内容,开发阶段应关闭,生产阶段打开,默认为打开 -->  
    <constant name="struts.serve.static.browserCache" value="false"></constant>  
    <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认为false,开发阶段应打开 -->  
    <constant name="struts.configuration.xml.reload" value="true"></constant>  
    <!-- 开发模式下使用,可以打印出更详细的错误信息 -->  
    <constant name="struts.devMode" value="true"></constant>  
    <!-- action全部用注解进行配置 -->  
  
    <!-- 是否开启动态方法调用 -->  
    <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
    <include file="com/azj/admin/action/struts.xml"></include>
    
</struts>


副strtus配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="admin" namespace="/admin" extends="struts-default">
        <!--struts2.5增加方法的安全性访问  设置可以访问的方法 -->
        <global-allowed-methods>login</global-allowed-methods>//struts2.5特殊的地方,里面是你的访问方法,没有汇报错
        
        <action name="admin_*" class="loginAction" method="{1}">
   <result name="{1}">/index.jsp</result>
   <result name="{1}_error">/login.jsp</result>
   
</action>
    </package>
    
</struts>

   4.关于实体类在ssh整合里,获取实体类配置信息的方法时,有的人用自动扫描进行写入,有的是手动写入上遇见些问题,我说一下,

如果你比较懒,选用的是自动扫描写入的话必须满足1.实体类是全注解的,没有xx.hbm.xml文件,是单独的实体类注解;2.spring配置上要改一下:

    sessionFactory 里的class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" 
    <property name="packagesToScan" value="com.wzj.entity"/>//自动扫秒com.wzj.entity下包的实体类;

  第二种方法是:手动写入实体类的配置文件:需要的要求如下:

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<property name="mappingResources">  
        <list>  
            <value>com/azj/entity/Users.hbm.xml</value>  
            <!-- 如有更多,可以继续添加 -->  
        </list>  
    </property> 

 手动写入的是实体类的xx.hbm.xml文件;

自动扫描和写入使用区别的!

总体如下:如果你想要eclipse配置的struts2.5,hibernate4.1,spring4.1,tomcat8.0,jdk1.8的demo多项目可以留言!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ctrl+C+V程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值