Đề án MVC Architecture và Struts Framework In Java (J2EE)

Mục Lục

Phần I : Tổng quan ngôn ngữjava.4

1. Lịch sửphát triển của Java.4

2. Mục đích của Java .4

3. Đặc điểm của Java .4

4. Các loại chương trình trong java .5

5. Các thành phần của Java Environment .5

6. Các loại ứng dụng java .5

Phần II : Môi Trường Phát Triển Ứng Dụng Java.6

1. Khái niệm .6

2. Kiến trúc Eclipse.6

3. The Platform runtime.7

4. The workspace .7

5. The Workbench.7

6. Team support .7

7. Help .7

Phần III : Giới thiệu J2EE và các thành phần liên quan.8

1. Applet.8

2. JavaBean .9

3. JSP. 10

4. Servlets.11

Phần IV : Kiến trúc MVC (Model _View_Controller).13

1. Khái niệm.13

2. Mối quan hệgiữa View và controller .14

3. Mối quan hệgiữa Model và view .14

4. Các lợi điểm của MVC .15

5. Hạn chếcủa MVC.15

Phần V : Áp dụng kiến trúc MVC xây dựng ứng dụng triển khai thực tế.16

1. Qui trình thực hiện .16

1.1. View .16

1.2. Controller .17

1.3. Model.20

2. Triển khai ứng dụng .23

2.1. Cơsởdữliệu.23

2.2. Bốtrí các tập tin trên Eclipse.23

2.3. Kết quả.24

Phần VI : Struts Framework .25

1. Struts 1.0 .25

1.1. Khái niệm.25

1.2. Cấu trúc của Struts .26

1.3. Các thành phần chính của một ứng dụng Struts .27

1.4. Các file cấu hình cần thiết đểxây dựng một ứng dụng Struts .27

1.5. Ưu điểm của Struts (so với MVC sửdụng RequestDispatcher) .28

1.6. Nhược điểm của Struts.28

2. Struts 2.0 .29

Phần VI: Áp dụng kiến trúc MVC xây dựng ứng dụng triển khai thực tế.30

1. Qui trình thực hiện .30

1.1. Các trang hiển thị(View).30

1.2.Action.37

1.3.Bean .40

1.4.Utils .46

1.5.Struts.xml.47

1.6.Build.xml .49

2 . Triển Khai Ứng Dụng .50

2.1.Cơsởdữliệu.50

2.2. Bốtrí các tập tin trên Eclipse.50

pdf51 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2458 | Lượt tải: 0download
Tóm tắt nội dung Đề án MVC Architecture và Struts Framework In Java (J2EE), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ry = history; 
 } 
 public int getId() { 
 return id; 
 } 
 public void setId(int id) { 
 this.id = id; 
 } 
 public String getName() { 
 return name; 
 } 
 public void setName(String name) { 
 this.name = name; 
 } 
 public String getSex() { 
 return sex; 
 } 
 public void setSex(String sex) { 
 this.sex = sex; 
 } 
} 
EmployeeService.class 
package net.vietcore.demo.bean; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.util.ArrayList; 
import net.vietcore.demo.utils.DataUtils; 
public class EmployeeService { 
 private ArrayList employeeList; 
 public ArrayList list(){ 
 return employeeList; 
 } 
 public void addEmployeeToList(){ 
 //System.out.println("addEmployeeToList() in Employee 
Action...."); 
 ResultSet rs; 
Trang 41 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 int i=0; 
 //PreparedStatement pstmt = null; 
 try { 
 //DataUtils.connectDb(); 
 //pstmt = 
DataUtils.getConnect().prepareStatement("Select * from tblEmployee"); 
 rs= DataUtils.Doc("Select * from tblEmployee"); 
 //rs = pstmt.executeQuery(); 
 employeeList = new ArrayList(); 
 while (rs.next()) { 
 i++; 
 Employee employee = new Employee(); 
 employee.setId(rs.getInt("ID")); 
 employee.setName(rs.getString("name")); 
 employee.setSex(rs.getString("sex")); 
 employee.setBirthday(rs.getString("birthday")); 
 employee.setCity(rs.getString("city")); 
 employee.setEmail(rs.getString("email")); 
 employee.setHistory(rs.getString("history")); 
 employeeList.add(employee); 
 } 
 } catch (Exception e) { 
 //e.printStackTrace(); 
 } 
 System.out.println(i); 
 } 
 public int addEmployee(Employee employee){ 
 System.out.println("addEmployee method in EmployeeService 
class"); 
 int ret = -1; 
 PreparedStatement pstmt = null; 
 try { 
 DataUtils.connectDb(); 
 pstmt = 
DataUtils.getConnect().prepareStatement("INSERT INTO tblEmployee (Name, 
Sex, Birthday, City, Email, History) VALUES(?, ?, ?, ?, ?, ?)"); 
 pstmt.setString(1, employee.getName()); 
 pstmt.setString(2, employee.getSex()); 
 pstmt.setString(3, employee.getBirthday()); 
 pstmt.setString(4, employee.getCity()); 
 pstmt.setString(5, employee.getEmail()); 
 pstmt.setString(6, employee.getHistory()); 
 int result = pstmt.executeUpdate(); 
 if(result > 0) 
 { 
Trang 42 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 System.out.println("Employee insert 
successfully"); 
 ret = 1; 
 } 
 else 
 { 
 ret = 0; 
 } 
 } catch (Exception e) { 
 e.printStackTrace(); 
 } finally 
 { 
 if(pstmt != null) 
 { 
 try { 
 pstmt.close(); 
 } catch (SQLException e) { 
 e.printStackTrace(); 
 } 
 } 
 DataUtils.disconnectDb(); 
 } 
 return ret; 
 } 
 public int updateEmployee(Employee employee){ 
 System.out.println("updateEmployee method in 
EmployeeService class"); 
 int ret = -1; 
 PreparedStatement pstmt = null; 
 try { 
 DataUtils.connectDb(); 
 pstmt = 
DataUtils.getConnect().prepareStatement("UPDATE tblEmployee SET Name=?, 
Sex=?, Birthday=?, City=?, Email=?, History=? WHERE ID=?"); 
 pstmt.setString(1, employee.getName()); 
 pstmt.setString(2, employee.getSex()); 
 pstmt.setString(3, employee.getBirthday()); 
 pstmt.setString(4, employee.getCity()); 
 pstmt.setString(5, employee.getEmail()); 
 pstmt.setString(6, employee.getHistory()); 
 pstmt.setInt(7, employee.getId()); 
 int result = pstmt.executeUpdate(); 
 if(result > 0) 
 { 
Trang 43 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 System.out.println("Employee saved 
successfully"); 
 ret = 1; 
 } 
 else 
 { 
 ret = 0; 
 } 
 } catch (Exception e) { 
 e.printStackTrace(); 
 } finally 
 { 
 if(pstmt != null) 
 { 
 try { 
 pstmt.close(); 
 } catch (SQLException e) { 
 e.printStackTrace(); 
 } 
 } 
 DataUtils.disconnectDb(); 
 } 
 return ret; 
 } 
 public int deleteEmployee(int id){ 
 System.out.println("deleteEmployee method in 
EmployeeService class"); 
 int ret = -1; 
 PreparedStatement pstmt = null; 
 try { 
 DataUtils.connectDb(); 
 pstmt = 
DataUtils.getConnect().prepareStatement("DELETE FROM tblEmployee 
WHERE id=?"); 
 pstmt.setInt(1, id); 
 pstmt.executeUpdate(); 
 ret = 1; 
 } catch (Exception e) { 
 e.printStackTrace(); 
 } finally 
 { 
Trang 44 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 if(pstmt != null) 
 { 
 try { 
 pstmt.close(); 
 } catch (SQLException e) { 
 e.printStackTrace(); 
 } 
 } 
 DataUtils.disconnectDb(); 
 } 
 return ret; 
 } 
 public Employee findById(int id){ 
 addEmployeeToList(); 
 System.out.println("findById method in EmployeeService 
class"); 
 for (Employee employee : employeeList) { 
 if(employee.getId()==id) 
 return employee; 
 } 
 return null; 
 } 
 public Employee getEmployee(int id){ 
 Employee employee = new Employee(); 
 ResultSet rs = null; 
 PreparedStatement pstmt = null; 
 try { 
 DataUtils.connectDb(); 
 pstmt = 
DataUtils.getConnect().prepareStatement("SELECT * FROM tblEmployee 
WHERE id=?"); 
 pstmt.setInt(1, id); 
 rs = pstmt.executeQuery(); 
 while (rs.next()) { 
 employee.setId(rs.getInt("ID")); 
 employee.setName(rs.getString("Name")); 
 employee.setSex(rs.getString("Sex")); 
 employee.setBirthday(rs.getString("Birthday")); 
 employee.setCity(rs.getString("City")); 
 employee.setEmail(rs.getString("Email")); 
 employee.setHistory(rs.getString("History")); 
 } 
Trang 45 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 } catch (Exception e) { 
 e.printStackTrace(); 
 } finally 
 { 
 if(pstmt != null) 
 { 
 try { 
 pstmt.close(); 
 } catch (SQLException e) { 
 e.printStackTrace(); 
 } 
 } 
 if(rs != null) 
 { 
 //rs.close(); 
 } 
 DataUtils.disconnectDb(); 
 } 
 return employee; 
 } 
} 
4. Utils : 
DataUtils.class 
package net.vietcore.demo.utils; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
public class DataUtils { 
 private static Connection con; 
 private static int count; 
 public static void connectDb() { 
 try { 
 // Connect Normal 
 String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
 String connString = "jdbc:odbc:dataStruts2"; 
 Class.forName(DBDriver).newInstance(); 
 con = DriverManager.getConnection(connString); 
Trang 46 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 // chuong trinh DEMO 
 System.out.println("Connection number: " + 
(++count)); 
 } catch (ClassNotFoundException cnfe) { 
 try { 
 throw new Exception("Cannot find the specified 
driver.", cnfe); 
 } catch (Exception e) { 
 } 
 } catch (Exception e) { 
 System.out.println("Error, class Connect \n Method: 
connectDb()"); 
 System.out.println(e); 
 } 
 } 
 public static Connection getConnect() { 
 return con; 
 } 
 public static void disconnectDb() { 
 try { 
 System.out.println("Disconnecting..." + count); 
 con.close(); 
 } catch (SQLException sqle) { 
 System.out.println(sqle.getMessage()); 
 } 
 } 
 public static ResultSet Doc(String chuoi_lenh) throws Exception 
 { 
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
 Connection conn= 
DriverManager.getConnection("jdbc:odbc:dataStruts2"); 
 Statement stmt = conn.createStatement(); 
 ResultSet rs= stmt.executeQuery(chuoi_lenh); 
 return rs; 
 } 
} 
5. Struts.xml 
<!DOCTYPE struts PUBLIC 
 "-//Apache Software Foundation//DTD Struts 
Configuration 2.0//EN" 
Trang 47 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
 ""> 
 <package name="tokenPackage" namespace="/employee" 
extends="struts-default"> 
 <action name="getEmployeeList" 
class="net.vietcore.demo.action.ListEmployeeAction" 
method="execute"> 
 /Employee.jsp 
 /error.jsp 
--> 
 <action name="EmployeeInput" method="input" 
class="net.vietcore.demo.action.EmployeeAction"> 
 <result 
name="input">/Employee.jsp 
 <action name="EmployeeAdd" method="addEmployee" 
class="net.vietcore.demo.action.EmployeeAction"> 
 <result type="redirect-
action">getEmployeeList 
 error.jps 
 <action name="EmployeeDelete" 
method="deleteEmployee" 
class="net.vietcore.demo.action.EmployeeAction"> 
 <result 
type="redirect">getEmployeeList.action 
 <action name="EmployeePrepareUpdate" 
class="net.vietcore.demo.action.EmployeeAction"> 
 /Update.jsp 
 <interceptor-ref 
name="paramsPrepareParamsStack"/> 
 <action name="EmployeeUpdate" 
method="updateEmployee" 
class="net.vietcore.demo.action.EmployeeAction"> 
 <result type="redirect-
action">getEmployeeList 
Trang 48 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
6. Build.xml: 
<property name="lib.home" value="${basedir}/web/WEB-
INF/lib"/> 
<property name="tomcat.home" value="C:\Program 
Files\Apache Software Foundation\Tomcat 5.5"/> 
<target name="prepare" description="Prepare some 
necessary steps"> 
<target name="clean" description="Delete old build and 
dist directories"> 
<target name="compile" depends="prepare" 
description="Compile Java sources"> 
 <javac srcdir="${src.home}" 
 destdir="${build.home}" 
 debug="${compile.debug}" 
 deprecation="${compile.deprecation}" 
 optimize="${compile.optimize}"> 
 --> 
Trang 49 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
<target name="dist" depends="compile" description="Create 
binary distribution"> 
 <war destfile="${dist.home}/${ant.project.name}.war" 
webxml="${web.home}/WEB-INF/web.xml"> 
 --> 
 --> 
 --
> 
 <!--<zipfileset dir="${web.home}/images" 
prefix="images"/> --> 
 --> 
II . Triển Khai Ứng Dụng: 
1. Cơ sở dữ liệu: 
 2 . Bố trí các tập tin trên Eclipse : 
Trang 50 
MVC Architecture & Struts Framework in J2EE (Java) 10/2007 
Trang 51 

File đính kèm:

  • pdfĐề án MVC Architecture và Struts Framework In Java (J2EE).pdf
Tài liệu liên quan