《struts2连接数据库实现用户登录》由会员分享,可在线阅读,更多相关《struts2连接数据库实现用户登录(8页珍藏版)》请在金锄头文库上搜索。
1、struts2配置文件/error.jsp/success.jspweb.xml配置文件struts2filter-mappingfilter-nameurl-pattern/filter-mappingstruts2/*index.jsp1. welcome-file/welcome-file-listLoginAction类:packagecom.struts;importjava.util.Map;importorg.apache.struts2.interceptor.ApplicationAware;importorg.apache.struts2.interceptor.Sessi
2、onAware;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.ModelDriven;publicclassLoginActionextendsActionSupportimplementsModelDriven,SessionAware,ApplicationAwareprivateusersuser=newusers();privateMapsessionM;privateMapapplicationM;/privateHttpSessionsession;publicObjectgetM
3、odel()returnuser;publicvoidsetSession(Maparg0)sessionM=arg0;publicvoidsetApplication(Maparg0)applicationM=arg0;OverridepublicStringexecute()throwsException/TODOAuto-generatedmethodstubDataBeandb=newDataBean();/第一种方法:通过ActionContext获取MAP类型的Session/ActionContextac=ActionContext.getContext();/sessionM=
4、ac.getSession();/sessionM.put(userName,user.getName();/sessionM.put(user,user);/第三种方法:通过控制反转方法获取MAP类型的SessionsessionM.put(userName,user.getName();sessionM.put(userPwd,user.getPwd();sessionM.put(user,user);Stringname=(String)sessionM.get(userName);Stringpwd=(String)sessionM.get(userPwd);usersa=newuse
5、rs();a.setName(name);a.setPwd(pwd);intflag=db.Login(a);if(flag0)if(applicationM.get(count)=null)applicationM.put(count,1);elseintcount=Integer.parseInt(applicationM.get(count).toString();applicationM.put(count,count+1);SESSION/第二种方法:通过ServletActionContext获取httpSESSIN类型的/session=ServletActionContext.
6、getRequest().getSession();/session.setAttribute(userName,user.getName();/session.setAttribute(user,user);returnSUCCESS;elsereturnINPUT;4.DataBean类:packagecom.struts;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLExce
7、ption;importjava.util.ArrayList;importjava.util.ResourceBundle;publicclassDataBean/连接和关闭private/业务beanConnectionconn=nullpublictryvoidconnect()ResourceBundle/连接数据库的方法rb=ResourceBundle.getBundleStringdirver=rb.getString(Stringurl=rb.getString(Stringuser=rb.getString(Stringpwd=rb.getString(com.struts.
8、datedirverurl);user);pwd);Class.connifforName(dirver);=DriverManager.(conn匸null)getConnection););(url,user,pwd);System.out.println(连接成功“);catch(Exceptionex)ex.printStackTrace();publicvoidcloseConn()tryif(conn!=null&!conn.isClosed()conn.close();catch(Exceptionex)ex.printStackTrace();publicintLogin(us
9、ersa)intflag=0;select*fromuserswhereuserName=?anduserPwd=?this.connect();Stringsql=conn.prepareStatement(sql);tryPreparedStatementpsta=psta.setString(1,a.getName();psta.setString(2,a.getPwd();ResultSetrs=psta.executeQuery();if(rs!=null&rs.next()flag=1;catch(SQLExceptione)/TODOAuto-generatedcatchbloc
10、ke.printStackTrace();5. returnflag;users类:packagecom.struts;returnname;publicclassusersprivateStringnameprivateStringpwd;publicStringgetName()publicvoidsetName(Stringname)this.name=name;publicStringgetPwd()returnpwd;publicvoidsetPwd(Stringpwd)this.pwd=pwd;6. 资源文件:date.propertiesdirver=oracle.jdbc.dr
11、iver.OracleDriverurl=:oracle:thin:localhost:1521:orcluser=systempwd=Sa123456jsp页面(index.jsp)%taglibprefix=suri=/struts-tags%:/+request.getServerPort()!DOCTYPEHTMLPUBLIC-/W3C/DTDHTML4.01Transitional/ENbasehref=MyJSPindex.jspstartingpagemetahttp-equiv=cache-controlcontent=no-cachemetahttp-equiv=keywordscontent=keyword1,keyword2,keyword3metahttp-equiv=descriptioncontent=Thisismypage!-/s:textfield8.jsp页面(error.jsp)%pagelanguage=javaimport=java.util.*pageEn