日期:2014-05-16 浏览次数:20603 次
????? 本人QQ: 949507869! 实现过程有问题可以添加交流,但必须有附件信息且为项目名,如StrutsJDBC
?
????? 补充性知识: Web应用分层及Action的执行流程
??????Web应用的体系结构,主要体现在以下三个逻辑区域:
????????? 1. 表示层(Persentation layer),它是控制前段的页面和发送结果,也称视图
????????? 2. 控制层(Control layer), 它控制应用流程,也称控制器
????????? 3. 应用逻辑层(Application login layer), 它管理应用数据,执行计算和联系后台资源(数据库),也称模型
?????????
????????? 各层的联系如下图(虚线表示特殊条件产生的联系)???
???????????
?????????
?
????? 问题分析、解决思路
????? 问题分析: 用Struct2通过JDBC实现emp表的CURD(create、update、read、delete)
????? 解决思路:?结合MVC三层结构及模仿Hibernate的数据持久化技术
????? 操作步骤:
??????? 1、启动相应的数据库服务,不清楚的请点此处说明
??????? 2、启动MyEclipse,编码
??????????? 2-1. 新建项目StrutsJDBC, 并在项目的lib包里添加以下jar包
?????????????
????????????
??????????? 2-2. 在web.xml里配置过滤器
<!-- begin Filter struts2 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- end Filter struts2 -->
?????????????? 问题一:filter-class的获取方式
??????????? ???解决方法:如图! 篇幅受限,看不清楚的自行下载查看
?????????????????????
????????????2-3.?把emp表对象映射成Emp.java的JavaBean。代码如下
package entities; import java.util.Date; /** * <dl> * <dt><b>Description:</b></dt> * <dd> * a JavaBean of table employee * </br> * </br><em>Copyright? 2011-2014 E.T.Crazy</em> * </dd> * </dl> * @version 2012-4-17 * @author E.T.Crazy */ public class Emp { // Fields of employee private int empno; // 雇员编号 private String ename; // 登录名 private String job; // 雇员职务 private int mgr; // 雇员经理的编号 private Date hiredate; // 雇佣日期 private float sal; // 雇员工资 private float comm; // 雇员津贴 private int deptno; // 雇员所在的部门编号 // Constructor /** default constructor */ public Emp(){ } /** full constructor */ public Emp(int eno, String ena, String job, int mgr, Date hire, float sal, float comm, int deptno){ this.empno = eno; this.ename = ena; this.job = job; this.mgr = mgr; this.hiredate = hire; this.sal = sal; this.comm = comm; this.deptno = deptno; } // Property access public int getEmpno() { return empno; } public void setEmpno(int empno) { this.empno = empno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public int getMgr() { return mgr; } public void setMgr(int mgr) { this.mgr = mgr; } public Date getHiredate() { return hiredate; } public void setHiredate(Date hiredate) { this.hiredate = hiredate; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } public float getComm() { return comm; } public void setComm(float comm) { this.comm =