zoukankan      html  css  js  c++  java
  • 团队开发Fooks第十一天

    今日成果

     

     成功实现的用户信息的添加,回显,修改,删除

    package dao;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    
    
    import entity.Book;
    import entity.Info;
    import entity.User;
    import utils.DBUtil;
    
    public class dao {
        //注册
        public  boolean Register(User user) {
             String sql="insert into Users(username,password) values(?,?)" ;
             Object [] params= {user.getUsername(),user.getPassword()};
             return  DBUtil.executeUpdate(sql, params);
        }
        //查询账户是否存在
        public  boolean isExist(String uname) {
            return Query(uname)==null? false:true;
        }
    //登录
       public boolean Login(String uname,String upwd) {
           return Query(uname,upwd)==null? false:true;
       }
     //根据账号查询用户全部信息
         public   User Query(String uname) {
              User user= null;
              ResultSet rs = null; 
              try {
                  String sql="select * from Users where username =?" ;
                  Object [] params= {uname};
                  rs=DBUtil.executeQuery(sql, params);
                  if(rs.next()) {
                      String name=rs.getString("username");
                      String pwd=rs.getString("password");
                      user= new User(name,pwd);
                  }
              }catch(SQLException e) {
                  e.printStackTrace();
              }catch(Exception e) {
                  e.printStackTrace();
              }finally {
                  try {
                         //先开的后关,后开的先关
                     if(rs!=null)rs.close();
                     if(DBUtil.pstmt!=null)DBUtil.pstmt.close();
                     if(DBUtil.connection !=null)DBUtil.connection.close();
                     }catch(SQLException e) {
                         e.printStackTrace();
                     }finally {
                         
                     }
              }
              return user;
         }
         //根据账户密码确定是否存在
         public   User Query(String uname,String upwd) {
              User user= null;
              ResultSet rs = null; 
              try {
                  String sql="select * from Users where username =? and password=?" ;
                  Object [] params= {uname,upwd};
                  rs=DBUtil.executeQuery(sql, params);
                  if(rs.next()) {
                      String name=rs.getString("username");
                      String pwd=rs.getString("password");
                      user= new User(name,pwd);
                  }
              }catch(SQLException e) {
                  e.printStackTrace();
              }catch(Exception e) {
                  e.printStackTrace();
              }finally {
                  try {
                        //先开的后关,后开的先关
                    if(rs!=null)rs.close();
                    if(DBUtil.pstmt!=null)DBUtil.pstmt.close();
                    if(DBUtil.connection !=null)DBUtil.connection.close();
                    }catch(SQLException e) {
                        e.printStackTrace();
                    }finally {
                        
                    }
              }
              return user;
         }
        
         public boolean set(Info info){
            String sql="insert into Info(username,nickname,sex,resume) values(?,?,?,?)";
            Object obj[]= {info.getUsername(),info.getNickname(),info.getSex(),info.getResume()};
            return DBUtil.executeUpdate(sql,obj);
        }
         //查询账户是否存在
             public  boolean isUse(String nickname) {
                 return NicknameQuery(nickname)==null? false:true;
             }
             public   Info NicknameQuery(String nickname) {
                   Info info= null;
                   ResultSet rs = null; 
                   try {
                       String sql="select * from Info where nickname =?" ;
                       Object [] params= {nickname};
                       rs=DBUtil.executeQuery(sql, params);
                       if(rs.next()) {
                           String username=rs.getString("username");
                           String sex=rs.getString("sex");
                           String resume=rs.getString("resume");
                           info=new Info(username,nickname,sex,resume);
                       }
                   }catch(SQLException e) {
                       e.printStackTrace();
                   }catch(Exception e) {
                       e.printStackTrace();
                   }finally {
                       try {
                              //先开的后关,后开的先关
                          if(rs!=null)rs.close();
                          if(DBUtil.pstmt!=null)DBUtil.pstmt.close();
                          if(DBUtil.connection !=null)DBUtil.connection.close();
                          }catch(SQLException e) {
                              e.printStackTrace();
                          }finally {
                              
                          }
                   }
                   return info;
              }
             public   Info NicknameQuery(String username,String nickname) {
                  Info info= null;
                  ResultSet rs = null; 
                  try {
                      String sql="select * from Info where username=? and nickname =?" ;
                      Object [] params= {username,nickname};
                      rs=DBUtil.executeQuery(sql, params);
                      if(rs.next()) {
                          String sex=rs.getString("sex");
                          String resume=rs.getString("resume");
                          info=new Info(username,nickname,sex,resume);
                      }
                  }catch(SQLException e) {
                      e.printStackTrace();
                  }catch(Exception e) {
                      e.printStackTrace();
                  }finally {
                      try {
                             //先开的后关,后开的先关
                         if(rs!=null)rs.close();
                         if(DBUtil.pstmt!=null)DBUtil.pstmt.close();
                         if(DBUtil.connection !=null)DBUtil.connection.close();
                         }catch(SQLException e) {
                             e.printStackTrace();
                         }finally {
                             
                         }
                  }
                  return info;
             }
             public   boolean NicknameDelete(String username,String nickname) {
                 
                      String sql="delete from Info where username=? and nickname =?" ;
                      Object [] params= {username,nickname};
                return DBUtil.executeUpdate(sql, params);
             }
             public   Info NickShowQuery(String username) {
                  Info info= null;
                  ResultSet rs = null; 
                  try {
                      String sql="select * from Info where username =?" ;
                      Object [] params= {username};
                      rs=DBUtil.executeQuery(sql, params);
                      if(rs.next()) {
                          String nickname=rs.getString("nickname");
                          String sex=rs.getString("sex");
                          String resume=rs.getString("resume");
                          info=new Info(username,nickname,sex,resume);
                      }
                  }catch(SQLException e) {
                      e.printStackTrace();
                  }catch(Exception e) {
                      e.printStackTrace();
                  }finally {
                      try {
                             //先开的后关,后开的先关
                         if(rs!=null)rs.close();
                         if(DBUtil.pstmt!=null)DBUtil.pstmt.close();
                         if(DBUtil.connection !=null)DBUtil.connection.close();
                         }catch(SQLException e) {
                             e.printStackTrace();
                         }finally {
                             
                         }
                  }
                  return info;
             }
        public boolean add(Book book){
            String sql="insert into Book(BookName,BookPath,CreateUser,CreateDate) values(?,?,?,?)";
            Object obj[]= {book.getBookName(),book.getBookPath(),book.getCreateUser(),book.getCreateDate()};
            return DBUtil.executeUpdate(sql,obj);
        }
    
        public List<Book> Query() {
            List<Book> books=new ArrayList();
            Book book= null;
            ResultSet rs = null;
            try {
                String sql="select * from Book " ;
                Object [] params= {};
                rs=DBUtil.executeQuery(sql, params);
                while(rs.next()) {
                    int Id=rs.getInt("id");
                    String BookName=rs.getString("BookName");
                    String BookPath=rs.getString("BookPath");
                    String CreateUser=rs.getString("CreateUser");
                    String CreateDate=rs.getString("CreateDate");
                    book=new Book(Id,BookName,BookPath,CreateUser,CreateDate);
                    books.add(book);
                }
            }catch(SQLException e) {
                e.printStackTrace();
            }catch(Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    //先开的后关,后开的先关
                    if(rs!=null)rs.close();
                    if(DBUtil.pstmt!=null)DBUtil.pstmt.close();
                    if(DBUtil.connection !=null)DBUtil.connection.close();
                }catch(SQLException e) {
                    e.printStackTrace();
                }finally {
    
                }
    
            }
            return books;
        }
    }
    dao.java
    package Servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import dao.dao;
    import entity.Info;
    import net.sf.json.JSONObject;
    
    
    public class SetServlet extends HttpServlet {
        
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html; charset=utf-8");
            String username=request.getParameter("username");
            String nickname=request.getParameter("nickname");
            String sex=request.getParameter("sex");
            String resume=request.getParameter("resume");
    
            
            Info info =new Info(username,nickname,sex,resume);
            dao dao =new dao();
            PrintWriter out = response.getWriter();
            JSONObject json=new JSONObject();
            boolean result1=dao.isUse(nickname);
            if(dao.NickShowQuery(username)!=null) {
                //用户已有昵称
                if(!result1) {
                    if(dao.NicknameDelete(username, dao.NickShowQuery(username).getNickname()))
                    {
                        boolean result2=dao.set(info);
                        if(result2) {
                            json.put("result", 1);
                        }else {
                            json.put("result", 2);
                        }
                    }else 
                    {
                        json.put("result", 0);
                    }
                        out.print(json);
                        return;
                }
            }else 
            {    
            if(!result1) {
                boolean result2=dao.set(info);
                if(result2) {
                    json.put("result", 1);
                }else {
                    json.put("result", 2);
                }
            }else {
                json.put("result", 0);
            }
            out.print(json);
            return;
            }
        }
    
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }
    SetServlet.java
    package Servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import dao.dao;
    import entity.*;
    import net.sf.json.JSONArray;
    
    
    public class ShowInfoServlet extends HttpServlet {
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html; charset=utf-8");
            String username=request.getParameter("username");
            dao dao =new dao();
            Info info=dao.NickShowQuery(username);
            
            PrintWriter out = response.getWriter();
            JSONArray jsonArray = JSONArray.fromObject(info);
            
            out.print(jsonArray.toString());
        }
    
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }
    ShowInfoServlet.java
    package com.example.fooks;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import com.example.fooks.entity.Book;
    import com.example.fooks.entity.Info;
    import com.example.fooks.utils.BooksAdapter;
    import com.loopj.android.http.AsyncHttpClient;
    import com.loopj.android.http.AsyncHttpResponseHandler;
    import com.loopj.android.http.RequestParams;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import java.io.UnsupportedEncodingException;
    
    import cz.msebera.android.httpclient.Header;
    
    public class UserActivity extends AppCompatActivity {
        private Button mHome;
        private Button mBook;
        private Button mPerson;
        private EditText editText;
        private EditText editText2;
        private TextView mNickname;
        private String mUsername;
        private static String TAG="UserActivity";
        //设置返回按钮:不应该退出程序---而是返回桌面
        //复写onKeyDown事件
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
    
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                Intent home = new Intent(Intent.ACTION_MAIN);
                home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                home.addCategory(Intent.CATEGORY_HOME);
                startActivity(home);
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }
        @Override
        protected void onPause() {
            overridePendingTransition(0,0);
            super.onPause();
        }
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_user);
    
            Intent intent =getIntent();
            mUsername =intent.getStringExtra("username");
            //
    
           initView();
    
            //
           initListener();
    
           initInfo();
        }
    
        private void initView() {
    
            mBook=(Button) this.findViewById(R.id.btn_book);
            mHome=(Button) this.findViewById(R.id.btn_home);
            mPerson=(Button) this.findViewById(R.id.btn_person);
            mNickname=(TextView)this.findViewById(R.id.nickname);
            //把输入框变成分割线 by:scf
            editText=this.findViewById(R.id.editText);
            editText2=this.findViewById(R.id.editText2);
            editText.setFocusableInTouchMode(false);//不可编辑
            editText.setKeyListener(null);//不可粘贴
            editText2.setFocusableInTouchMode(false);//不可编辑
            editText2.setKeyListener(null);
        }
    
        private void initInfo() {
            //获取数据
            AsyncHttpClient client =new AsyncHttpClient();
            String url = "http://47.94.229.72:8080/Fooks/ShowInfoServlet";//url组成:ip:端口 + 服务端工程名 + servlet名
            RequestParams params = new RequestParams();
            params.put("username",mUsername);
            client.post(url, params, new AsyncHttpResponseHandler() {
                @Override
                public void onSuccess(int i, Header[] headers, byte[] bytes) {
                    if(i == 200) {
                        try {
                            String result = new String(bytes,"utf-8");
                            Log.e(TAG,"返回结果"+result);
                            try {
                                JSONArray jsonArray = new JSONArray(result);
                                for(int j=0;j<jsonArray.length();j++){
                                    JSONObject jsonObject=jsonArray.getJSONObject(j);
                                    Info info =new Info();
                                    info.setId(jsonObject.getInt("id"));
                                    info.setUsername(jsonObject.getString("username"));
                                    info.setNickname(jsonObject.getString("nickname"));
                                    info.setSex(jsonObject.getString("sex"));
                                    info.setResume(jsonObject.getString("resume"));
                                    mNickname.setText(info.getNickname());
                                }
    
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        } catch (UnsupportedEncodingException e) {
                            e.printStackTrace();
                        }
    
                    }
                }
    
                @Override
                public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
                    Toast.makeText(getApplicationContext(),"请求失败,请检查网络",Toast.LENGTH_LONG).show();
                }
            });
        }
    
        private void initListener() {
            mHome.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(UserActivity.this,MainActivity.class);
                    intent.putExtra("username",mUsername);
                    startActivity(intent);
    
                    UserActivity.this.overridePendingTransition(0, 0);
    
                }
            });
            mBook.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(UserActivity.this,ReadActivity.class);
                    intent.putExtra("username",mUsername);
                    startActivity(intent);
                    UserActivity.this.overridePendingTransition(0, 0);
    
                }
            });
        }
    
        public void buttonSet(View view) {
            Intent intent  =new Intent(UserActivity.this,SetActivity.class);
            intent.putExtra("username",mUsername);
            startActivity(intent);
            UserActivity.this.overridePendingTransition(0, 0);
        }
    }
    UserActivity.java
    package com.example.fooks;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.Toast;
    
    import androidx.annotation.Nullable;
    
    import com.example.fooks.entity.Info;
    import com.loopj.android.http.AsyncHttpClient;
    import com.loopj.android.http.AsyncHttpResponseHandler;
    import com.loopj.android.http.RequestParams;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import java.io.UnsupportedEncodingException;
    
    import cz.msebera.android.httpclient.Header;
    
    public class SetActivity extends Activity {
        private String mUsername;
        private RadioGroup mSex;
        private EditText mNickname;
        private EditText mResume;
        private Button mSetBtn;
        private RadioButton mR;
        private RadioButton mWR;
        private String TAG="SetActivity";
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_set);
    
            Intent intent =getIntent();
            mUsername =intent.getStringExtra("username");
    
            //初始化控件
            initView();
            //设置监听,处理点击事件
            initListener();
            initInfo();
        }
    
        private void initListener() {
            mSex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    mR =(RadioButton) findViewById(checkedId);
                }
            });
            mSetBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //点击了注册按钮
                    Sethandler();
                }
            });
        }
        private void Sethandler() {
            Info info =new Info();
            //昵称
            String nickname=mNickname.getText().toString().trim();
            //简介
            String resume =mResume.getText().toString().trim();
            //性别
            String sexText;
            if(mR.getText().toString()!=null) {
                sexText = mR.getText().toString();
            }else{
                sexText="男";
            }
            Log.e(TAG,"账户:"+nickname);
            Log.e(TAG,"密码:"+resume);
            Log.e(TAG,"性别:"+sexText);
            //对账号和密码进行检测
          info.setUsername(mUsername);
          info.setNickname(nickname);
          info.setSex(sexText);
          info.setResume(resume);
          SetInfo(info);
          initInfo();
        }
    
        private void initInfo() {
            //获取数据
            AsyncHttpClient client =new AsyncHttpClient();
            String url = "http://47.94.229.72:8080/Fooks/ShowInfoServlet";//url组成:ip:端口 + 服务端工程名 + servlet名
            RequestParams params = new RequestParams();
            params.put("username",mUsername);
            client.post(url, params, new AsyncHttpResponseHandler() {
                @Override
                public void onSuccess(int i, Header[] headers, byte[] bytes) {
                    if(i == 200) {
                        try {
                            String result = new String(bytes,"utf-8");
                            Log.e(TAG,"返回结果"+result);
                            try {
                                JSONArray jsonArray = new JSONArray(result);
                                for(int j=0;j<jsonArray.length();j++){
                                    JSONObject jsonObject=jsonArray.getJSONObject(j);
                                    Info info =new Info();
                                    info.setId(jsonObject.getInt("id"));
                                    info.setUsername(jsonObject.getString("username"));
                                    info.setNickname(jsonObject.getString("nickname"));
                                    info.setSex(jsonObject.getString("sex"));
                                    info.setResume(jsonObject.getString("resume"));
                                    mNickname.setText(info.getNickname());
                                    if(info.getSex().equals("女")){
                                        mWR.setChecked(true);
                                    }
                                    mResume.setText(info.getResume());
                                }
    
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        } catch (UnsupportedEncodingException e) {
                            e.printStackTrace();
                        }
    
                    }
                }
    
                @Override
                public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
                    Toast.makeText(getApplicationContext(),"请求失败,请检查网络",Toast.LENGTH_LONG).show();
                }
            });
        }
    
        private void SetInfo(Info info) {
            AsyncHttpClient client =new AsyncHttpClient();
            String url = "http://47.94.229.72:8080/Fooks/SetServlet";//url组成:ip:端口 + 服务端工程名 + servlet名
            RequestParams params = new RequestParams();
            params.put("username",info.getUsername());
            params.put("nickname",info.getNickname());
            params.put("sex",info.getSex());
            params.put("resume",info.getResume());
            client.post(url, params, new AsyncHttpResponseHandler() {
                @Override
                public void onSuccess(int i, Header[] headers, byte[] bytes) {
                    if(i == 200) {
                        try {
                            String result = new String(bytes, "utf-8");
                            try {
                                JSONObject jsonObject = new JSONObject(result);
                                int s = jsonObject.getInt("result");
                                switch (s) {
                                    case 0:
                                        Toast.makeText(getApplicationContext(), "该昵称已被使用", Toast.LENGTH_LONG).show();
                                        break;
                                    case 1:
                                        Toast.makeText(getApplicationContext(), "修改成功", Toast.LENGTH_LONG).show();
                                        Intent intent = new Intent(SetActivity.this, UserActivity.class);
                                        intent.putExtra("username",mUsername);
                                        startActivity(intent);
                                        SetActivity.this.overridePendingTransition(0, 0);
                                        break;
                                    case 2:
                                        Toast.makeText(getApplicationContext(), "系统错误", Toast.LENGTH_LONG).show();
                                        break;
                                    default:
                                        Toast.makeText(getApplicationContext(), "未知错误", Toast.LENGTH_LONG).show();
                                        break;
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
    
                        } catch (UnsupportedEncodingException e) {
                            e.printStackTrace();
                        }
    
                    }
                }
    
                @Override
                public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
                    Toast.makeText(getApplicationContext(),"请求失败,请检查网络",Toast.LENGTH_LONG).show();
                }
            });
        }
    
        private void initView() {
            mNickname = (EditText)this.findViewById(R.id.set_nickname);
            mResume = (EditText)this.findViewById(R.id.set_resume);
            mSex = (RadioGroup)this.findViewById(R.id.radioGroup);
            mSetBtn =(Button)this.findViewById(R.id.set_btn);
            mR=(RadioButton)this.findViewById(R.id.man_radio);
            mWR=(RadioButton)this.findViewById(R.id.woman_radio);
        }
    }
    SetActivity.java
  • 相关阅读:
    不同品牌交换机设置telnet方法
    Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次)
    oracle 11g ADG实施手册(亲测,已成功部署多次)
    如何正确的使用uwsgi
    debian小巧好看的桌面
    zsh中home键失灵问题
    C#_Markov_心得感想
    NLP—WordNet——词与词之间的最小距离
    这不算爬虫吧?!
    Table-Driven Design 表驱动设计
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/12781562.html
Copyright © 2011-2022 走看看