关于初步搭建完成SSH环境之后,JUnit test 测试成功,页面测试时:@Resource 注入的dao为null
这个问题研究了一天,还是因为配置的时候没有认真,一不小心,酿成了大错。当发现的时候感觉好尴尬啊::>_<::
CostAction:
package com.tenni.action; import java.util.List; import javax.annotation.Resource; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import com.tenni.dao.ICostDao;
import com.tenni.entity.Cost; @Controller
@Scope("prototype")
public class CostAction { @Resource
private ICostDao costDao;
//input
private int page = 1;
private int pageSize;
//output
private String msg;
private List<Cost> list;
private int totalPage; public String findAll(){
list = costDao.findAll();
return "success";
}
//分页查询
public String load(){
list = costDao.findByPage(page, pageSize);
totalPage = costDao.findTotalPage(pageSize);
return "success";
} /**
* @return the msg
*/
public String getMsg() {
return msg;
} /**
* @param msg the msg to set
*/
public void setMsg(String msg) {
this.msg = msg;
} /**
* @return the list
*/
public List<Cost> getList() {
return list;
} /**
* @param list the list to set
*/
public void setList(List<Cost> list) {
this.list = list;
}
public ICostDao getCostDao() {
return costDao;
}
public void setCostDao(ICostDao costDao) {
this.costDao = costDao;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
}
Struts.xml
<!-- 公共的包,封装了通用的拦截器、通用的result -->
<package name="interceptor" extends="json-default">
<interceptors>
<!-- 登录检查拦截器 -->
<interceptor name="loginInterceptor"
class="com.tenni.interceptor.LoginInterceptor" />
<!-- 保持session开启拦截器 -->
<interceptor name="openSessionInterceptor"
class="com.tenni.interceptor.OpenSessionInViewInterceptor" />
<!-- 登录检查拦截器栈 -->
<interceptor-stack name="loginStack">
<interceptor-ref name="loginInterceptor" />
<interceptor-ref name="openSessionInterceptor" />
<!-- 不要丢掉默认的拦截器栈,里面有很多Struts2依赖的拦截器 -->
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<!-- 设置action默认引用的拦截器 -->
<default-interceptor-ref name="loginStack" />
<!-- 全局的result,包下所有的action都可以共用 -->
<global-results>
<!-- 跳转到登录页面的result -->
<result name="toLogin" type="redirectAction">
<param name="namespace">/login</param>
<param name="actionName">toLogin</param>
</result>
<result name="error" type="redirectAction">
<param name="namespace">/error</param>
<param name="actionName">error</param>
</result>
</global-results>
</package>
<!-- cost action -->
<package name="cost" namespace="/cost" extends="interceptor">
<action name="findAll" class="costAction"
method="findAll">
<result name="success">
/WEB-INF/main/cost.jsp
</result>
</action>
<action name="findCost" class="costAction"
method="load">
<!-- 注入页容量 -->
<param name="pageSize">3</param>
<result name="success">
/WEB-INF/main/find_cost.jsp
</result>
</action>
</package>
package----->cost extends---->interceptor(继承了json)
由于使用Spring来管理Action,因此需要通过Spring容器来创建Action,因此class属性指定的是组件的ID。
所以:
<action name="findAll" class="costAction"中---> costAction 不能写成com.tenni.action.CostAction
关于初步搭建完成SSH环境之后,JUnit test 测试成功,页面测试时:@Resource 注入的dao为null的更多相关文章
- 五子棋Web版的开发(一)---搭建IDEA SSH环境
最近公司都没啥事,我在完成了控制台版的本地五子棋后(github地址:https://github.com/lkq51/wuziqi_console2),想将他升级成为一个web版的五子棋游戏.因为公 ...
- Linux Ubuntu从零开始部署web环境及项目-----搭建ssh环境(一)
linux搭建ssh环境 1,用户登录 成功输入用户名和密码后 进入Ubuntu界面 2,配置网络 参考:http://blog.csdn.net/liu782726344/article/deta ...
- Centos7安装Docker 基于Dockerfile 搭建httpd运行环境
Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...
- Mac下maven工程的创建,并搭建SSH环境
最近项目有用到maven,就特地学了一下.maven的一句话攻略就是,项目托管.帮你解决各种项目琐事:清理,导包....等等. 首先先到apach官网去下载一个maven的包,http://maven ...
- 搭建SSH环境之添加所需jar包
一.首先介绍要添加框架环境: JUnit Struts2 Hibernate Spring (1)配置JUnit /**-------------------------添加JUnit-------- ...
- ssh环境的搭建,基于注解和配置文件使用
搭建spring.Struts2.hibernate三大框架的环境 这里分两部分来讲:一.用myeclipse 2014 快速搭建环境,非常快捷, 大部分配置文件信息系统都帮我们写好,建议老手使用 二 ...
- 条理清晰的搭建SSH环境之添加所需jar包
一.首先介绍要添加框架环境: JUnit Struts2 Hibernate Spring (1)配置JUnit /**-------------------------添加JUnit-------- ...
- ARToolKit for Unity环境搭建(初步搭建成功)
最近一段时间才开始学习使用Unity3d,AR的学习使用中,先后使用了metaio SDK.vuforia SDK,但由于这两个都属于收费的,今天开始尝试使用ARToolKit.先将ARToolKit ...
- 条理清晰的搭建SSH环境之整合Struts和Spring
上文说到搭建SSH环境所需三大框架的jar包,本篇博客将通过修改配置文件整合Struts和Spring,下篇博客整合Hibernate和Spring即可完成环境搭建. 1.声明bean,新建TestA ...
随机推荐
- vs2017 对dockerfile的支持
项目添加 dockerfile Docker file 内容 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXP ...
- 收藏一篇关于Asp.net Response.Filter的文章
Capturing and Transforming ASP.NET Output with Response.Filter https://weblog.west-wind.com/posts/20 ...
- (转)kafka实战教学
转载自:https://www.cnblogs.com/hei12138/p/7805475.html Apache kafka 工作原理介绍-----https://www.ibm.com/deve ...
- 【Canal源码分析】数据传输协议
Canal的数据传输有两块,一块是进行binlog订阅时,binlog转换为我们所定义的Message,第二块是client与server进行TCP交互时,传输的TCP协议. 一.EntryProto ...
- 用分布式缓存提升ASP.NET Core性能
得益于纯净.轻量化并且跨平台支持的特性,ASP.NET Core作为热门Web应用开发框架,其高性能传输和负载均衡的支持已广受青睐.实际上,10-20台Web服务器还是轻松驾驭的.有了多服务器负载的支 ...
- Mac下安装Eclipse和Tomcat等
Mac下做Java开发还是很方便的,不用像.NET开发一样在Parallel Desktop里面安装Windows虚拟机,Mac下面默认已经安装了JDK. 当然,你如果要安装JDK7,请先阅读:htt ...
- SQL 日期相减(间隔)datediff函数
select datediff(year, 开始日期,结束日期); --两日期间隔年 select datediff(quarter, 开始日期,结束日期); --两日期间隔季 select date ...
- 安装flutter和dart总结
1 manjaro从软件仓库安装就行,但是也可以下载安装包.然后添加到Path目录 我是安装dart从软件仓库, flutter下载压缩包添加到path 1.1 需要将android sdk , ex ...
- Tomcat笔记:Tomcat的执行流程解析
Bootstrap的启动 Bootstrap的main方法先new了一个自己的对象(Bootstrap),然后用该对象主要执行了四个方法: init(); setAwait(true); load(a ...
- 【详解】ThreadPoolExecutor源码阅读(一)
系列目录 [详解]ThreadPoolExecutor源码阅读(一) [详解]ThreadPoolExecutor源码阅读(二) [详解]ThreadPoolExecutor源码阅读(三) 工作原理简 ...