Tải bản đầy đủ (.pdf) (72 trang)

Bài 6: Lập trình web với struts 1_TS Nguyễn Mạnh Hùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.34 MB, 72 trang )

Lập trình mạng
J2EE patterns
Giảng viên: TS. Nguyễn Mạnh Hùng
Học viện Công nghệ Bưu chính Viễn thông (PTIT)
2
Nội dung


Giới thiệu về J2EE patterns

Lập trình web với JSP – Java - Tomcat

Lập trình web sử dụng web service

Struts framework

Bài tập
J2EE patterns
4
Kiến trúc J2EE với WS
[image source: />5
[image source:
/>6
Các nhóm patterns


Bean (EJB): entity bean, session bean,
message-driven bean

Object (control of object): DAO, transfer
object



Control: delegate, front control, service
locator/handler

View: view helper, dispatcher view
Lập trình web với JSP
8
Java – JSP - Tomcat
DB
BeanDAO
Control
x.JSP doX.JSP
9
Ví dụ: login trên web
DB
entity.Userdao.UserDAO
Home.jsp doLogin.jsp UserHome.jsp
10
Cài đặt server Tomcat (1)
Bước 1: Cài đặt môi trường JDK, tomcat và axis:
Giải nén tập tin jakarta-tomcat-4.0.6.zip tại C:\Webservice\jakarta-
tomcat-4.0.6
Giải nén tập tin xml-axis-beta1.zip tại C:\Webservice\xml-axis-beta1
Cài đặt JDK tại C:\Program Files\Java\jdk1.6.0_21
Copy thư mục axis (C:\Webservice\xml-axis-beta1\webapps\axis)
vào trong thư mục webapps (C:\Webservice\jakarta-tomcat-
4.0.6\webapps)
Copy tập tin xerces.jar (C:\Webservice\jakarta-tomcat-
4.0.6\common\lib\xerces.jar) vào trong thư mục lib
(C:\Webservice\jakarta-tomcat-4.0.6\webapps\axis\WEB-INF\lib)

11
Lớp bean: entity.User
package entity;
public class User {
private String username;
private String password;
public User(){}
public User(String username, String password){
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
12
Lớp DAO: dao.UserDAO (1)
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import java.sql.ResultSet;
import java.sql.SQLException;
public class UserDAO {
Connection conn = null;
public UserDAO(String dbUsername, String dbPassword) {
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname";
String dbClass = "com.mysql.jdbc.Driver";
try {
Class.forName(dbClass);
conn = DriverManager.getConnection (dbUrl, dbUsername, dbPassword);
}catch(ClassNotFoundException e) {
e.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();
}
}
13
Lớp DAO: dao.UserDAO (2)
public boolean checkLogin(entity.User user){
String query = "Select * FROM users WHERE username = ? AND password = ?";
try {
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());

ResultSet rs = ps.executeQuery();
if (rs.next()) {
return true;
}
}catch(SQLException e) {

e.printStackTrace();
}
return false;
}
}
14
Cấu hình vào server Tomcat
Bước 1: Tạo một thư mục «#test#» trong thư mục:
tomcat/webapps
Bước 2: copy các thư mục entity và dao (đã biên dịch các file
java thành .class) vào thư mục:
Tomcat\webapps\test\WEB-INF\classes
Bước 3: copy thư viện jdbc driver (file down từ mạng trong các bài
trước) vào thư mục: Tomcat\common\lib
Bước 4: vào thư mục: Tomcat\webapps\test tạo ra 3 file jsp như
sau: Home.jsp, doLogin.jsp, UserHome.jsp
Cách 1: dùng parameter
16
Trang Home.jsp (1)
<%@page language="java" import = " java.util.*, java.awt.*, entity.*, dao.*" %>
<% String msg = request.getParameter("ok"); %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>JSP demo test</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
</HEAD>
<BODY leftMargin=0 topMargin=0>
<table border="0" cellpadding="0" cellspacing="0" >
<tr>
<td width="100%" height="133">&nbsp;
<form method="POST" name = "Dangnhap" action="doLogin.jsp" >

<p align="left">Username:
<input type="text" name="username" size="12"></p>
<p align="left">Password:
<input type="password" name="password" size="12"></p>
<p align="left"> <input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2"></p>
</form>
<p></td> </tr> </table>
<% if((msg!=null)&&(msg.equals("0"))){ %>
<SCRIPT language=JavaScript>
alert ("Password ban nhap khong dung. Nhap lai!");
</SCRIPT>
<p align="center"></p>
</BODY>
<%} %>
</HTML>
17
Trang Home.jsp (2)
18
Trang doLogin.jsp
<%@page language="java" import = "java.util.*, java.awt.*, entity.*, dao.*"%>
<%
String username = (String)request.getParameter("username");
String password = (String)request.getParameter("password");



User user = new User(username, password);
session.setAttribute("user",user);


UserDAO userDAO = new UserDAO("sa","sa");

if(userDAO.checkLogin(user)){
response.sendRedirect("UserHome.jsp");
}
else{
response.sendRedirect("Home.jsp?ok=0");
}
%>
19
Trang UserHome.jsp (1)
<%@page language="java" import = " java.util.*, java.awt.*, entity.*, dao.*" %>
<%
User user= (User)session.getAttribute("user");
if(user == null){
response.sendRedirect("Home.jsp?ok=0");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>JSP demo test</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
</HEAD>
<BODY leftMargin=0 topMargin=0>
Welcome <%= user.getUsername() %>!
</BODY></HTML>
20
Trang UserHome.jsp (2)
Cách 2: dùng bean
(Khác biệt trong doLogin.jsp)
22

Trang Home.jsp (1)
<%@page language="java" import = " java.util.*, java.awt.*, entity.*, dao.*" %>
<% String msg = request.getParameter("ok"); %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>JSP demo test</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
</HEAD>
<BODY leftMargin=0 topMargin=0>
<table border="0" cellpadding="0" cellspacing="0" >
<tr>
<td width="100%" height="133">&nbsp;
<form method="POST" name = "Dangnhap" action="doLogin.jsp" >
<p align="left">Username:
<input type="text" name="username" size="12"></p>
<p align="left">Password:
<input type="password" name="password" size="12"></p>
<p align="left"> <input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2"></p>
</form>
<p></td> </tr> </table>
<% if((msg!=null)&&(msg.equals("0"))){ %>
<SCRIPT language=JavaScript>
alert ("Password ban nhap khong dung. Nhap lai!");
</SCRIPT>
<p align="center"></p>
</BODY>
<%} %>
</HTML>
23
Trang Home.jsp (2)

24
Trang doLogin.jsp
<%@page language="java" import = "java.util.*, java.awt.*, entity.*, dao.*"%>
<jsp:useBean id="user" class="entity.User" scope="request"/>
<jsp:setProperty name="user" property="*"/>
<%
session.setAttribute("user",user);


UserDAO userDAO = new UserDAO("sa","sa");

if(userDAO.checkLogin(user)){
response.sendRedirect("UserHome.jsp");
}
else{
response.sendRedirect("Home.jsp?ok=0");
}
%>
25
Trang UserHome.jsp (1)
<%@page language="java" import = " java.util.*, java.awt.*, entity.*, dao.*" %>
<%
User user= (User)session.getAttribute("user");
if(user == null){
response.sendRedirect("Home.jsp?ok=0");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>JSP demo test</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">

</HEAD>
<BODY leftMargin=0 topMargin=0>
Welcome <%= user.getUsername() %>!
</BODY></HTML>

×