一、控制层优化

  (1)创建BaseAction.java类

package com.cppdy.ssh.web.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial")
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware { protected HttpServletRequest request = null; protected HttpServletResponse response = null; public void setServletRequest(HttpServletRequest request) {
this.request = request;
} public void setServletResponse(HttpServletResponse response) {
this.response = response;
} }

BaseAction.java

  (2)创建ServiceProviderCord.java类

package com.cppdy.ssh.container;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class ServiceProviderCord { protected static ApplicationContext ac; /**
* @Name: load
* @Description: 加载beans.xml文件(filename放置的是beans.xml)
* @Parameters: String filename(传递beans.xml文件)
* @Return: 无
*/
public static void load(String filename){
ac = new ClassPathXmlApplicationContext(filename);
}
}

ServiceProviderCord.java

  (3)创建ServiceProvider.java类

package com.cppdy.ssh.container;

import org.apache.commons.lang.StringUtils;

public class ServiceProvider {
public static ServiceProviderCord spc;
//加载beans.xml文件
static{
spc = new ServiceProviderCord();
spc.load("beans.xml");
}
/**
* @Name: getService
* @Description: 自定义spring容器,加载服务节点
* @Parameters: String serviceName 服务节点名称
* @Return: Object 服务接口
*/
public static Object getService(String serviceName){
if(StringUtils.isBlank(serviceName)){
throw new RuntimeException("当前服务名称不存在");
}
Object object = null;
if(spc.ac.containsBean(serviceName)){
object = spc.ac.getBean(serviceName);
}
if(object==null){
throw new RuntimeException("当前服务名称【"+serviceName+"】下的服务节点不存在");
}
return object;
}
}

ServiceProvider.java

  (4)修改ElecTextAction.java的save方法,将数据保存入库

package com.cppdy.ssh.web.action;

import java.util.Date;

import com.cppdy.ssh.container.ServiceProvider;
import com.cppdy.ssh.domain.ElecText;
import com.cppdy.ssh.service.IElecTextService;
import com.cppdy.ssh.web.form.ElecTextForm;
import com.opensymphony.xwork2.ModelDriven; @SuppressWarnings("serial")
public class ElecTextAction extends BaseAction implements ModelDriven<ElecTextForm>{ private IElecTextService elecTextService = (IElecTextService)ServiceProvider.getService("elecTextService"); private ElecTextForm elecTextForm = new ElecTextForm(); public ElecTextForm getModel() {
return elecTextForm;
}
/**
* @Name: save
* @Description: 保存ElecText对象的方法
* @Parameters: 无
* @Return: 跳转到system/textAdd.jsp
*/
public String save(){
//System.out.println(elecTextForm.getTextName());
//VO对象转换成PO对象
//实例化PO对象
ElecText elecText = new ElecText();
elecText.setTextName(elecTextForm.getTextName());//测试名称
elecText.setTextDate(new Date());//测试日期
elecText.setTextRemark(elecTextForm.getTextRemark());//测试备注 elecTextService.saveElecText(elecText);
return "save";
} }

ElecTextAction.java

二、测试新增功能

三、查看数据库

四、项目结构

搭建ssh框架项目(五)的更多相关文章

  1. 搭建ssh框架项目(四)

    一.创建控制层 (1)创建VO值对象,对应页面表单的属性值 package com.cppdy.ssh.web.form; /** * VO值对象,对应页面表单的属性值 * VO对象与PO对象的关系: ...

  2. 搭建ssh框架项目(三)

    一.创建业务层 (1)创建业务层接口IElecTextService.java package com.cppdy.ssh.service; import com.cppdy.ssh.domain.E ...

  3. 搭建ssh框架项目(二)

    一.创建dao层 (1)创建接口ICommonDao.java package com.cppdy.ssh.dao; public interface ICommonDao<T> { pu ...

  4. 搭建ssh框架项目(一)

    一.创建web项目 二.导入jar包 三.创建数据库(MySQL) 四.建立javaBean对象(ElecText.java),属于持久层对象(PO对象) package com.cppdy.ssh. ...

  5. myeclipse搭建SSH框架

    搭建SSH框架 Struts+hibernater+spring架构(myeclipse) 右击,首先加入spring,加入hibernater,再加入struts2 复制jar包(把tomcat发布 ...

  6. Maven环境下搭建SSH框架

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Maven:3.3.9 Struts2:2.5.10 Spring:4.3.8.RELEASE Hibernate:5.1.7.Fina ...

  7. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  8. Java之基于Eclipse搭建SSH框架(下)

    在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客<Java之基于Eclipse搭建SSH框架(上)>.今天我们接着上篇博客滴内容. ...

  9. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

随机推荐

  1. GUI程序开发的流程(随时删除的源码)

    1.继承JFrame 2.定义需要的组件 3.创建组件 4.设置布局管理器 5.添加组件 6.显示窗体 --------------------------------------------- 小代 ...

  2. tcpdump常用参数详解

    tcpdump常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 好久没有更新我的博客了,看来自己最近还没有在放假中回过神来啊,哈哈~是不是也有小伙伴跟我一样呢?回归正题, ...

  3. mybatis中Parameter index out of range (1 > number of parameters, which is 0).

    Parameter index out of range (1 > number of parameters, which is 0).(参数索引超出范围) 在mybatis里面写就是应该是 l ...

  4. Linux 命令详解(六)Linux 守护进程的启动方法

    Linux 守护进程的启动方法 http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html

  5. Storm Topology 提交 总结---Kettle On Storm 实现

    一,目的 在学习的过程中,需要用到 PDI---一个开源的ETL软件.主要是用它来设计一些转换流程来处理数据.但是,在PDI中设计好的 transformation 是在本地的执行引擎中执行的,(参考 ...

  6. springboot(七)邮件服务

    简单使用 发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息.最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring退出了JavaMai ...

  7. 《深入理解java虚拟机》第三章 垃圾收集器与内存分配策略

    第三章 垃圾收集器与内存分配策略 3.1 概述 哪些内存需要回收 何时回收 如何回收 程序计数器.虚拟机栈.本地方法栈3个区域随线程而生灭. java堆和方法区的内存需要回收.   3.2 对象已死吗 ...

  8. 自定义滤镜 ColorMatrixFilter

    var url:URLRequest = new URLRequest("Koala.jpg"); var l:Loader = new Loader(); l.contentLo ...

  9. 第16月第27天 pip install virtualenv ipython sip brew search

    1. pip install virtualenv virtualenv testvir cd testvir cd Scripts activate pip https://zhuanlan.zhi ...

  10. POJ 1035 Spell checker (模拟)

    题目链接 Description You, as a member of a development team for a new spell checking program, are to wri ...