个人管理系统第7讲.docx
《个人管理系统第7讲.docx》由会员分享,可在线阅读,更多相关《个人管理系统第7讲.docx(20页珍藏版)》请在冰豆网上搜索。
个人管理系统第7讲
项目:
基于Struts2的个人信息管理系统
❼第七讲——基于Struts2的个人信息管理系统
&工作任务:
完成基于Struts2的个人信息管理系统中登录和注册的功能,并加入数据库后台进行信息处理。
任务实施:
步骤1、创建javabean
省略全部的get、set方法。
。
。
步骤2、实现数据库通用类
packageDBJavaBean;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.util.ArrayList;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpSession;
importorg.apache.struts2.interceptor.ServletRequestAware;
importJavaBean.MyMessBean;
publicclassDBimplementsServletRequestAware{
privateStringdriverName="com.mysql.jdbc.Driver";
privateStringurl="jdbc:
mysql:
//localhost:
3306/person";
privateStringusername="root";
privateStringpassword="admin";
privateConnectionconn=null;
privateStatementst=null;
privateResultSetrs=null;
privateHttpServletRequestrequest;
publicDB(){
}
publicStringgetDriverName(){
returndriverName;
}
publicvoidsetDriverName(StringdriverName){
this.driverName=driverName;
}
publicStringgetUrl(){
returnurl;
}
publicvoidsetUrl(Stringurl){
this.url=url;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
@Override
publicvoidsetServletRequest(HttpServletRequesthsr){
//TODOAuto-generatedmethodstub
request=hsr;
}
publicStatementgetStatement(){
try{
Class.forName(getDriverName());
conn=DriverManager.getConnection(url,username,password);
returnconn.createStatement();
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
publicResultSetselectMess(HttpServletRequestrequest,StringuserName){
try{
Stringsql="select*fromuserwhereuserName='"+userName+"'";
st=getStatement();
returnst.executeQuery(sql);
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
publicStringmyMessage(HttpServletRequestrequest,StringuserName){
try{
ArrayListlistName=null;
HttpSessionsession=request.getSession();
listName=newArrayList();
rs=selectMess(request,userName);
while(rs.next()){
MyMessBeanmess=newMyMessBean();
mess.setName(rs.getString("name"));
mess.setSex(rs.getString("sex"));
mess.setBirth(rs.getString("birth"));
mess.setEdu(rs.getString("edu"));
mess.setWork(rs.getString("work"));
mess.setPhone(rs.getString("phone"));
mess.setPlace(rs.getString("place"));
mess.setEmail(rs.getString("email"));
listName.add(mess);
session.setAttribute("MyMess",listName);
}
return"ok";
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
publicResultSetselectLogin(HttpServletRequestrequest,StringuserName,
Stringpassword){
try{
Stringsql="select*fromuserwhereuserName='"+userName
+"'andpassword='"+password+"'";
st=getStatement();
returnst.executeQuery(sql);
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
publicStringmyLogin(HttpServletRequestrequest,StringuserName){
try{
ArrayListlistName=null;
HttpSessionsession=request.getSession();
listName=newArrayList();
rs=selectMess(request,userName);
if(rs.next()){
rs=selectMess(request,userName);
while(rs.next()){
}
}else{
session.setAttribute("userName",listName);
}
return"ok";
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
publicStringaddList(HttpServletRequestrequest,StringuserName){
Stringsure=null;
Stringlogin=myLogin(request,userName);
if(login.equals("ok")){
sure="ok";
}else{
sure=null;
}
returnsure;
}
publicStringinsertMess(HttpServletRequestrequest,StringuserName,
Stringpassword,Stringname,Stringsex,Stringbirth,
Stringnation,Stringedu,Stringwork,Stringphone,Stringplace,
Stringemail){
try{
Stringsure=null;
rs=selectMess(request,userName);
if(rs.next()){
sure="one";
}else{
Stringsql="insertintouservalues('"+userName+"','"
+password+"','"+name+"','"+sex+"','"+birth
+"','"+nation+"','"+edu+"','"+work+"','"
+phone+"','"+place+"','"+email+"')";
st=getStatement();
introw=st.executeUpdate(sql);
if(row==1){
Stringmess=myMessage(request,userName);
if(mess.equals("ok")){
sure="ok";
}else{
sure=null;
}
}else{
sure=null;
}
}
returnsure;
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
}
步骤3、修改登录后台action
packageedu.login.Action;
importjava.sql.ResultSet;
importjavax.servlet.http.HttpServletRequest;
importorg.apache.struts2.interceptor.ServletRequestAware;
importDBJavaBean.DB;
importcom.opensymphony.xwork2.ActionSupport;
publicclassLoginActionextendsActionSupportimplementsServletRequestAware{
privateStringuserName;
privateStringpassword;
privateResultSetrs=null;
privateStringmessage=ERROR;
privateHttpServletRequestrequest;
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
@Override
publicvoidsetServletRequest(HttpServletRequesthsr){
//TODOAuto-generatedmethodstub
request=hsr;
}
publicvoidvalidate(){
if(this.getUserName()==null||this.getUserName().length()==0){
addFieldError("username","请输入登录名字!
");
}else{
try{
DBmysql=newDB();
rs=mysql.selectMess(request,this.getUserName());
if(!
rs.next()){
addFieldError("username","此用户尚未注册!
");
}
}catch(Exceptione){
e.printStackTrace();
}
}
if(this.getPassword()==null||this.getPassword().length()==0){
addFieldError("password","请输入登录密码!
");
}else{
try{
DBmysql=newDB();
rs=mysql.selectMess(request,this.getUserName());
if(rs.next()){
rs=mysql.selectLogin(request,this.getUserName(),this.getPassword());
}
if(!
rs.next()){
addFieldError("password","登录密码错误!
");
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
publicStringexecute()throwsException{
DBmysql=newDB();
Stringadd=mysql.addList(request,this.getUserName());
if(add.equals("ok")){
message=SUCCESS;
}
returnmessage;
}
}
步骤4、修改注册页面后台action
packageedu.login.Action;
importjava.sql.ResultSet;
importjavax.servlet.http.HttpServletRequest;
importorg.apache.struts2.interceptor.ServletRequestAware;
importDBJavaBean.DB;
importcom.opensymphony.xwork2.ActionSupport;
publicclassRegisterActionextendsActionSupportimplements
ServletRequestAware{
privateStringuserName;
privateStringpassword1;
privateStringpassword2;
privateStringname;
privateStringsex;
privateStringbirth;
privateStringnation;
privateStringedu;
privateStringwork;
privateStringphone;
privateStringplace;
privateStringemail;
privateResultSetrs=null;
privateStringmessage=ERROR;
privateHttpServletRequestrequest;
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetPassword1(){
returnpassword1;
}
publicvoidsetPassword1(Stringpassword1){
this.password1=password1;
}
publicStringgetPassword2(){
returnpassword2;
}
publicvoidsetPassword2(Stringpassword2){
this.password2=password2;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicStringgetBirth(){
returnbirth;
}
publicvoidsetBirth(Stringbirth){
this.birth=birth;
}
publicStringgetNation(){
returnnation;
}
publicvoidsetNation(Stringnation){
this.nation=nation;
}
publicStringgetEdu(){
returnedu;
}
publicvoidsetEdu(Stringedu){
this.edu=edu;
}
publicStringgetWork(){
returnwork;
}
publicvoidsetWork(Stringwork){
this.work=work;
}
publicStringgetPhone(){
returnphone;
}
publicvoidsetPhone(Stringphone){
this.phone=phone;
}
publicStringgetPlace(){
returnplace;
}
publicvoidsetPlace(Stringplace){
this.place=place;
}
publicStringgetEmail(){
returnemail;
}
publicvoidsetEmail(Stringemail){
this.email=email;
}
@Override
publicvoidsetServletRequest(HttpServletRequesthsr){
//TODOAuto-generatedmethodstub
request=hsr;
}
publicvoidvalidate(){
if(this.getUserName()==null||this.getUserName().length()==0){
addFieldError("username","登录名字不允许为空!
");
}else{
try{
DBmysql=newDB();
rs=mysql.selectMess(request,this.getUserName());
if(rs.next()){
addFieldError("userName","此登录名字已存在!
");
}
}catch(Exceptione){
e.printStackTrace();
}
}
if(this.getPassword1()==null||this.getPassword1().length()==0){
addFieldError("password1","登录密码不允许为空!
");
}
if(this.getPassword2()==null||this.getPassword2().length()==0){
addFieldError("password2","重复密码不允许为空!
");
}
if(!
(getPassword1().equals(getPassword2()))){
addFieldError("password2","两次密码不一致!
");
}
if(this.getName()==null||this.getName().length()==0){
addFieldError("name","用户姓名不