前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统学习javaweb-12-SSH整合开发demo

系统学习javaweb-12-SSH整合开发demo

作者头像
csxiaoyao
发布2019-02-20 16:10:41
3380
发布2019-02-20 16:10:41
举报
文章被收录于专栏:csxiaoyaocsxiaoyao

名称:SSH整合开发demo,实现CRUD和登陆验证 版本说明:

struts - 2.3.4.1 spring - 3.2.5 hibernate - 3.6

【知识点】

1 模型驱动

1.1 实现接口

代码语言:javascript
复制
 implements ModelDriven<Employee>

1.2 封装数据

EmployeeAction中数据的自动封装(Employee)与手动封装(deptId)

代码语言:javascript
复制
private Employee employee = new Employee();   // 【模型驱动】
// 封装请求的部门id(下拉列表的实际的值)
private int deptId;
public void setEmployee(Employee employee) {
    this.employee = employee;
}
public Employee getEmployee() {
    return employee;
}
public void setDeptId(int deptId) {
    this.deptId = deptId;
}
public int getDeptId() {
    return deptId;
}

1.3 实现RequestAware接口

代码语言:javascript
复制
//实现RequestAware接口
public class EmployeeAction extends ActionSupport implements ModelDriven<Employee>, RequestAware{
    // 接收框架运行时候传入的代表request对象的map
    private Map<String, Object> request;
    @Override
    public void setRequest(Map<String, Object> request) {
        this.request = request;
    }
}

2 注入,使用接口接收

代码语言:javascript
复制
// 注入Dao,【此处一定要用接口接收】
private IDeptDao deptDao;//JDK代理
public void setDeptDao(IDeptDao deptDao) {
    this.deptDao = deptDao;
}

此处声明的deptDao是一个IDeptDao接口,而非DeptDao类对象,原因在于:setDeptDao(IDeptDao deptDao)中传入的deptDao为Proxy代理类(继承了IDeptDao接口),如果为setDeptDao(DeptDao deptDao),则类型不匹配,无法传入

3 抽取BaseDao(反射泛型的应用)

将【IOC容器(依赖)注入SessionFactory对象】抽取到BaseDao,作为对比,EmployeeDao继承了BaseDao,其他Dao未继承

4 页面包含

代码语言:javascript
复制
<!-- 包含头部页面 -->
<jsp:include page="/head.jsp"></jsp:include>

5 拦截器配置

struts.xml、UserInterceptor.java

6 全局视图、全局异常配置

struts.xml

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年05月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【知识点】
  • 1 模型驱动
    • 1.1 实现接口
      • 1.2 封装数据
        • 1.3 实现RequestAware接口
        • 2 注入,使用接口接收
        • 3 抽取BaseDao(反射泛型的应用)
        • 4 页面包含
        • 5 拦截器配置
        • 6 全局视图、全局异常配置
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档