首页 > Linux操作系统 > Linux操作系统 > Struts入门示例
Struts入门示例
1、创建项目名称Login.选择JDK为1.5。
2、为项目添加Struts支持
LoginàMy Eclipse à Add Struts Capabilities。版本选择1.2,Base package for new class中将yourcompany修改为自己希望的名字,其余的默认。
3、创建包com.login.DBConnecrtions用于管理对数据库的访问
4、在包com.login.DBConnecrtions创建DBConnection类。用于管理与数据库的连接。
该类的代码如下:
package com.login.DBConnections;
import java.sql.*;
public class DBConnection {
Connection conn;
public DBConnection(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "bidw", "bidw");
}
catch (Exception e)
{e.printStackTrace();}
}
public Connection getDbCon(){
return conn;
}
public void conn_close() {
if (conn != null)
{
try {
conn.close();
}
catch(Exception e){
e.printStackTrace();
}
conn = null;
}
}
}
期间不要忘记将对应数据库的驱动程序加入到项目的引用中去。
说明一下数据库端的设计,只有一张表users,记录了一条记录{user_id:1000; user_name:admin;user_pwd:admin}。
5、创建LoginForm类用于表示表单对象。
创建于默认的包com.login.struts下。LoginForm类的代码如下:
package com.login.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
public class LoginForm. extends ActionForm. {
private static final long serialVersionUID = 1L;
private String username;
private String password;
public String getUsername(){
return username;
}
public void setUsername(String user_name){
this.username = user_name;
}
public String getPassword(){
return password;
}
public void setPassword(String pwd){
this.password = pwd;
}
public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest request, HttpServletResponse response){
return null;
}
public void reset(ActionMapping actionMapping, HttpServletRequest request, HttpServletResponse response) {}
}
6、创建userDao类用于对数据库对象进行操作
同样创建于包com.login.struts。userDao类的的代码如下:
package com.login.struts;
import java.sql.*;
import com.login.DBConnections.*;
public class userDao {
public LoginForm. getUserByName(String user_name) {
DBConnection dbc = new DBConnection();
Connection conn = dbc.getDbCon();
ResultSet rs = null;
LoginForm. lf = new LoginForm();
PreparedStatement ps = null;
String sql = "select * from users where user_name = '" + user_name + "'";
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if (rs.next()){
lf.setUsername(rs.getString("user_name"));
lf.setPassword(rs.getString("user_pwd"));
}
}
catch(SQLException e){
System.out.println("Lee Yang Wei");
e.printStackTrace();
}
finally{
dbc.conn_close();
}
return lf;
}
}
7、创建LoginAction类用于处理业务逻辑
创建于包com.login.struts。LoginAction的代码如下:
package com.login.struts;
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping actionMapping, ActionForm. actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
throws Exception{
userDao dao = new userDao();
LoginForm. lf_user = (LoginForm)actionForm;
LoginForm. lf_db = dao.getUserByName(lf_user.getUsername());
if (lf_user.getPassword().equals(lf_db.getPassword())){
return actionMapping.findForward("success");
}
else{
return actionMapping.findForward("fail");
}
}
}
8、添加3个JSP页面分别表示登录页面(login.jsp)、登录成功(success.jsp)和登录失败(fail.jsp)。
Login.jsp的核心标记:
<html:form action="/login">
username:<html:text property="username" /><br>
password:<html:password property="password" /><br>
<html:submit property="submit" value="Submit">html:submit>
<html:reset value="Reset">html:reset>
html:form>
Success.jsp的核心标记:
<body>
登录成功! <br>
body>
Fail.jsp的核心标记:
<body>
用户名或密码错误! <br>
body>
9、修改struts-config.xml文件
如下:
<struts-config>
<data-sources />
<form-beans>
<form-bean name="LoginForm" type="com.login.struts.LoginForm">form-bean>
form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action
attribute="LoginForm"
input="/login.jsp"
name="LoginForm"
scope="request"
path="/login"
type="com.login.struts.LoginAction" >
<forward name="success" path="/success.jsp" />
<forward name="fail" path="/fail.jsp" />
action>
action-mappings>
<message-resources parameter="com.login.struts.ApplicationResources" />
struts-config>
10、发布登录http://localhost:8080/Login/login.jsp访问。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14969361/viewspace-582405/ ,如需转载,请注明出处,否则将追究法律责任。