這個前端控制器主要實現了登陸的功能
首先我們線創建一個Login實體類,在這裏我省略了dao層,省去了於數據庫交互的麻煩,直接對字段進行了賦值,如下所示:
package com.src.Bean;
public class Login {
private String userName = "admin";
private String password = "123456";
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;
}
}
然後創建一個接口,名叫Action
package com.src.Interface;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface Action {
public String execute(HttpServletRequest request, HttpServletResponse response);
}
創建接口的實現類,也就是登陸頁面的WelcomeAction類,這個實現類通過反射獲取對象並進行實例化,如果要與數據庫進行交互可以使用request獲取參數並讀取數據進行判斷是否正確。
package com.src.servelt;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.src.Bean.Login;
import com.src.Interface.Action;
public class WelcomeAction implements Action {
@Override
public String execute(HttpServletRequest request, HttpServletResponse response) {
Class<?> cla;
Login login = null;
try {
cla = Class.forName("com.src.Bean.Login");
login = (Login)cla.newInstance();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("user", login.getUserName());
request.setAttribute("password",login.getPassword());
return "/welcome.jsp";
}
}