日期:2014-05-16 浏览次数:20681 次
????? 本人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 =