📄 shopping_cart_doc_3.txt
字号:
学习配置资源文件、在ActionForm中验证表单-----------------------------------------创建用户登陆---------------------------------------1.创建表create table user_eric( id integer primary key, name varchar2(16) not null, password varchar2(8) not null, address varchar2(64), postcode varchar2(8), email varchar2(64), homephone varchar2(16), cellphone varchar2(16), officephone varchar2(16));insert into user_eric(id,name,password) values(1,'user','user');2.在cart.dao的包中创建UserDAO,代码如下:package cart.dao;import java.sql.*;import cart.exception.DBConnException;import java.util.HashMap;public class UserDAO { private Connection conn; private PreparedStatement pstm; private ResultSet rs; public UserDAO() throws DBConnException{ try{ Class.forName("com.pointbase.jdbc.jdbcUniversalDriver"); }catch(Exception e){ e.printStackTrace(); throw new DBConnException(); } } public boolean validateLogin(String userName,String password) throws SQLException{ if(userName==null || password==null) return false; String sql = "select name from cart.user where name=? and password=?"; try{ conn = DriverManager.getConnection("jdbc:pointbase:server://localhost:9092/ec_port","cart","cart"); pstm = conn.prepareStatement(sql); pstm.setString(1,userName); pstm.setString(2,password); rs = pstm.executeQuery(); if(rs.next()) return true; else return false; }catch(SQLException e){ e.printStackTrace(); throw e; }finally{ if(rs!=null){ try{ rs.close(); }catch(Exception exce){exce.printStackTrace();} } if(pstm!=null){ try{ pstm.close(); }catch(Exception exce){exce.printStackTrace();} } if(conn!=null){ try{ conn.close(); }catch(Exception exce){exce.printStackTrace();} } } }}3.创建资源文件 首先创建包,鼠标右键点击<Project Source>,->new->package,然后输入包名:cart.resource. 鼠标右键点击cart.resource--〉new-->file,在弹出的界面中选择: name : ApplicationResource type : properties Directory : 按默认 点击[Ok] 资源文件的内容如下:cart.title = Shopping Cart Systemcart.login.name = name:cart.login.password = password:# Errorserrors.footer = <hr>errors.header = <h3><font color="red">Error</font></h3>You must correct the following error(s) before proceeding:errors.required = <li>{0} is required.</li>然后,双击左上方界面中的cart(web应用)-->struts1.1--->struts-config.xml在左下方的框中双击Message Resources,在右边的界面中点击[Add] Parameter : cart.resource.ApplicationResource注意:要输入资源文件所在的全路经,结尾没有.properties后缀。4.创建login.jsp文件<%@ page contentType="text/html; charset=GBK" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><html><head><title>login</title></head><body bgcolor="#ffffff"><html:errors/><h1><bean:message key="cart.title"/></h1><html:form action="/login.do"> <bean:message key="cart.login.name"/><html:text property="loginName"/><br/> <bean:message key="cart.login.password"/><html:password property="loginPassword"/><br/> <html:submit value="submit"/></html:form></body></html>5.创建action form 选择菜单file-->new-->web-->ActionForm,点击[OK],在下一个界面中输入如下信息: WebApp : cart struts config : WEB-INF/struts-config.xml package : cart.actionform ActionForm : LoginActionForm Base class : org.apache.struts.action.ActionForm 点击[next],在下一个界面中点击[Add from JSP],然后选择login.jsp,点击[OK],然后点[next]-----[finish] 打开LoginActionForm.java,修改其validate方法: ActionErrors errors = new ActionErrors(); if(loginName.length()==0){ ActionError error = new ActionError("errors.required","loginName"); errors.add(ActionMessages.GLOBAL_MESSAGE,error); } if(loginPassword.length()==0){ ActionError error = new ActionError("errors.required","loginPassword"); errors.add(ActionMessages.GLOBAL_MESSAGE,error); } return errors;6. 创建Actionfile->new->web->action,点击[OK]按钮,在出现的界面中输入如下信息: WebApp : cart Struts config : WEB-INF/struts-config.xml package : cart.action Action : LoginAction Base class : org.apache.struts.action.Action 点击[next],在下一个界面中输入如下信息: Action path : /login FormBean name : loginActionForm Validate FormBean : true input JSP : /login.jsp双击左上方的cart--->struts1.1--->struts-config.xml文件,在左下方点开Action Mappings ,双击[/login]在右面的界面中选择Forwards标签,然后再出现的框中点[Add]按钮,加入如下信息: path : /index.jsp name : success path : /login.jsp name : fail path : /error.jsp name : systemError7.创建error.jsp文件8.完成LoginAction.java代码:package cart.action;import org.apache.struts.action.*;import javax.servlet.http.*;import cart.actionform.LoginActionForm;import cart.dao.UserDAO;import cart.exception.DBConnException;import java.sql.SQLException;public class LoginAction extends Action { public ActionForward perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { LoginActionForm loginActionForm = (LoginActionForm) actionForm; String loginName = loginActionForm.getLoginName(); String loginPassword = loginActionForm.getLoginPassword(); UserDAO userDAO = null; try{ userDAO = new UserDAO(); boolean validateFlag = userDAO.validateLogin(loginName,loginPassword); if(validateFlag){ return actionMapping.findForward("success"); }else{ return actionMapping.findForward("fail"); } }catch(DBConnException e){ return actionMapping.findForward("systemError"); }catch(SQLException e){ return actionMapping.findForward("systemError"); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -