登录界面,数据库,服务器,客户端的连接
来源:互联网 发布:启凡网络是培训机构 编辑:程序博客网 时间:2024/05/16 11:59
登录界面,数据库,服务器,客户端的连接
界面
数据库:建立表user,添加name和password两个字段
客户端
1.loginUtil
package com.example.login;import android.os.Handler;import android.os.Message;import android.util.Log;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.ProtocolException;import java.net.URL;import java.util.Map;import java.util.Set;/** * Created by Administrator on 2016/8/10. */public class LoginUnit { public static void getDataByGet(final String urlStr, final Handler handler) throws MalformedURLException { new Thread() { @Override public void run() { super.run(); try { URL url1 = new URL(urlStr); HttpURLConnection httpURLConnection = (HttpURLConnection) url1.openConnection(); //设置请求方式:get httpURLConnection.setRequestMethod("GET"); httpURLConnection.setConnectTimeout(5000); Log.i("NetUtil", "NetUtil: run"+httpURLConnection.getResponseCode()); if (httpURLConnection.getResponseCode() == 200) { InputStream is = httpURLConnection.getInputStream(); //将is转换成字符串 String result = convertIsToString(is); Message message = Message.obtain(); message.what = 1; message.obj = result; handler.sendMessage(message); } } catch (ProtocolException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } public static void getDataByPost(final String urlStr, final Map<String, Object> map, final Handler handler){ Log.i("NetUtil", "NetUtil: getDataByPost"); new Thread(){ @Override public void run() { //super.run(); try { URL url = new URL(urlStr); HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("POST"); Set<Map.Entry<String, Object>> set = map.entrySet(); StringBuilder stringBuilder = new StringBuilder(); for (Map.Entry<String, Object> entry : set) { String key = entry.getKey(); Object value = entry.getValue(); stringBuilder.append((key + "=" + value + "&")); } String s = stringBuilder.toString(); //开始位置,结束位置(不包含):去掉最后一个”&“ String params = s.substring(0, s.length() - 1); Log.i("NetUtil", "NetUtil: run"+params); OutputStream os = httpURLConnection.getOutputStream(); os.write(params.getBytes()); Log.i("NetUtil", "NetUtil: run"+httpURLConnection.getResponseCode()); if (httpURLConnection.getResponseCode() == 200) { InputStream is = httpURLConnection.getInputStream(); String result = convertIsToString(is); Message message = Message.obtain(); message.what = 1; message.obj = result; Log.i("LoginUtil", "LoginUtil: run"+result); handler.sendMessage(message); } } catch (ProtocolException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } private static String convertIsToString(InputStream is) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); int b; try { while ((b = is.read()) != -1) { baos.write(b); } } catch (IOException e) { e.printStackTrace(); } return baos.toString(); }}
2.LoginActivity
package com.example.login;import android.Manifest;import android.content.pm.PackageManager;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import java.net.MalformedURLException;import butterknife.Bind;import butterknife.ButterKnife;import butterknife.OnClick;public class LoginActivity extends AppCompatActivity { @Bind(R.id.img_top) ImageView imgTop; @Bind(R.id.paw_right) ImageView pawRight; @Bind(R.id.paw_left) ImageView pawLeft; @Bind(R.id.iv_left) ImageView ivLeft; @Bind(R.id.iv_right) ImageView ivRight; @Bind(R.id.tv_login) TextView tvLogin; @Bind(R.id.tv_login2) TextView tvLogin2; @Bind(R.id.tv_login3) TextView tvLogin3; @Bind(R.id.tv_login4) TextView tvLogin4; @Bind(R.id.user) ImageView user; @Bind(R.id.tv_user) TextView tvUser; @Bind(R.id.view) View view; @Bind(R.id.password) ImageView imgpas; @Bind(R.id.tv_password) TextView tvPassword; @Bind(R.id.et_user) EditText etUser; @Bind(R.id.et_password) EditText etPassword; @Bind(R.id.btn_login) Button btnLogin; @Bind(R.id.btn_reg) Button btnReg; String ss; String name; String password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } @OnClick({R.id.btn_login, R.id.btn_reg}) public void onClick(View view) { switch (view.getId()) { case R.id.btn_login: name=etUser.getText().toString();// password=et2.getText().toString(); Log.i("lx", "onClick"); if (ContextCompat.checkSelfPermission(LoginActivity.this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(LoginActivity.this, new String[]{Manifest.permission.INTERNET}, 1); Log.i("lx", "no"); } else { name = etUser.getText().toString(); password = etPassword.getText().toString(); ss = "lg"; get(); Log.i("lx", "ok"); } break; case R.id.btn_reg: Log.i("lx", "onClick"); if (ContextCompat.checkSelfPermission(LoginActivity.this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(LoginActivity.this, new String[]{Manifest.permission.INTERNET}, 1); Log.i("lx", "no"); } else { name = etUser.getText().toString(); password = etPassword.getText().toString(); ss = "lgg"; get(); Log.i("lx", "ok"); } break; } } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { //super.handleMessage(msg); if (msg.what == 1) { String result = (String) msg.obj; Toast.makeText(LoginActivity.this, result, Toast.LENGTH_LONG).show(); } } }; private void get() { String path = "http://10.50.7.24:8080/Servlets/LoginServlet"; String url = path + "?name=" + name + "&password=" + password + "&login=" + ss; try { Log.i("lx", "get"); LoginUnit.getDataByGet(url, handler); } catch (MalformedURLException e) { e.printStackTrace(); } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); //授权成功 if (requestCode == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { get(); Log.i("lx", "sc"); } }}
Xml界面
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.login.MainActivity" android:weightSum="1"> <ImageView android:id="@+id/img_top" android:src="@mipmap/top" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ImageView android:id="@+id/paw_right" android:src="@mipmap/paw" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_above="@+id/et_user" android:layout_alignRight="@+id/et_user" android:layout_alignEnd="@+id/et_user" android:layout_marginRight="66dp" android:layout_marginEnd="66dp" /> <ImageView android:id="@+id/paw_left" android:src="@mipmap/paw" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_above="@+id/tv_user" android:layout_marginLeft="86dp" /> <ImageView android:id="@+id/iv_left" android:src="@mipmap/armleft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/img_top" android:layout_alignRight="@+id/paw_left" android:layout_alignEnd="@+id/paw_left" android:visibility="gone"/> <ImageView android:id="@+id/iv_right" android:src="@mipmap/armright" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/img_top" android:layout_alignRight="@+id/paw_right" android:layout_alignEnd="@+id/paw_right" android:visibility="gone"/> <TextView android:id="@+id/tv_login" android:layout_centerHorizontal="true" android:layout_width="338dp" android:layout_height="1dp" android:background="#ff0000" android:layout_marginTop="70dp" /> <TextView android:id="@+id/tv_login2" android:layout_centerHorizontal="true" android:layout_width="338dp" android:layout_height="1dp" android:background="#ff0000" android:layout_marginTop="270dp" /> <TextView android:id="@+id/tv_login3" android:layout_width="1dp" android:layout_height="200dp" android:background="#ff0000" android:layout_marginTop="70dp" /> <TextView android:id="@+id/tv_login4" android:layout_alignParentRight="true" android:layout_width="1dp" android:layout_height="200dp" android:background="#ff0000" android:layout_marginTop="70dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/user" android:id="@+id/user" android:layout_below="@id/tv_login" android:layout_marginLeft="50dp" android:layout_marginTop="30dp"/> <TextView android:id="@+id/tv_user" android:text="账号" android:textSize="20sp" android:layout_toRightOf="@id/user" android:layout_alignBottom="@id/user" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <View android:layout_width="wrap_content" android:layout_height="1dp" android:layout_toRightOf="@id/user" android:layout_alignBottom="@id/user" android:layout_marginRight="20dp" android:background="#ff0000"></View> <EditText android:id="@+id/et_user" android:layout_alignBottom="@id/user" android:layout_toRightOf="@id/tv_user" android:layout_width="220dp" android:hint="用户名/手机号" android:background="@null" android:layout_height="wrap_content" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/password" android:id="@+id/password" android:layout_below="@id/user" android:layout_alignParentLeft="true" android:layout_marginLeft="50dp" android:layout_marginTop="30dp"/> <TextView android:id="@+id/tv_password" android:text="密码" android:textSize="20sp" android:layout_toRightOf="@id/password" android:layout_alignBottom="@id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <View android:layout_width="wrap_content" android:layout_height="1dp" android:layout_toRightOf="@id/user" android:layout_alignBottom="@id/password" android:layout_marginRight="20dp" android:background="#ff0000" android:id="@+id/view"></View> <EditText android:id="@+id/et_password" android:layout_alignBottom="@id/tv_password" android:layout_toRightOf="@id/tv_user" android:layout_width="220dp" android:layout_height="wrap_content" android:hint="请输入密码" android:background="@null" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:id="@+id/btn_login" android:layout_below="@+id/tv_login2" android:layout_alignRight="@+id/view" android:layout_alignEnd="@+id/view" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="注册" android:id="@+id/btn_reg" android:layout_below="@+id/tv_login2" android:layout_alignLeft="@+id/password" android:layout_alignStart="@+id/password" /></RelativeLayout>
服务端
1.LoginUtil
package servlet;import java.beans.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class LoginUtil { private static String url = "jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=UTF-8"; private static String user = "root"; private static String password = "1233"; static{ //ע注册驱动 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //获得数据库连接 public static Connection getConnection() throws SQLException{ return DriverManager.getConnection(url, user, password); } //关闭数据库连接 public static void close(Connection conn,PreparedStatement pStatement,ResultSet rs) throws SQLException{ try{ if(rs!=null){ rs.close(); } }catch(Exception e){ e.printStackTrace(); }finally { try { if(pStatement!=null){ pStatement.close(); } } catch (SQLException e) { e.printStackTrace(); }finally { if(conn!=null){ conn.close(); } } } }}
2.loginServlet
package servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class LoginServlet */public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //接收客户端传的参数 //返回结果给客户端 String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); String password = new String(request.getParameter("password").getBytes("ISO-8859-1"),"UTF-8"); String ss=new String(request.getParameter("login").getBytes("ISO-8859-1"),"GBK"); response.setCharacterEncoding("utf-8"); System.out.println("get:name:"+name+"password"+password+"ss"+ss); User user =new User(name, password); Boolean boolean1; PrintWriter printWriter=response.getWriter(); if("lg".equals(ss)){ UserDao userDao=UserDao.getInstance(); boolean1 = UserDao.getInstance().select(user); System.out.println("boolean1"+boolean1); if (boolean1==false) { printWriter.print("登录成功"); }else { printWriter.print("登录失败,请注册"); } }else { UserDao userDao=UserDao.getInstance(); boolean1 = userDao.select(user); if (boolean1==true) { UserDao.getInstance().save(user); System.out.println("user"+user); printWriter.print("注册成功"); }else { printWriter.print("已有用户,注册失败"); } } printWriter.flush(); printWriter.close(); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub }}
3.DMManage
package servlet;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DMmanager { Connection connection=null; PreparedStatement pStatement=null; ResultSet resultSet=null; public Boolean Select(String name,String password) throws SQLException{ String sql="select * from user where name='"+name+"'and password='"+password+"'"; try { connection=LoginUtil.getConnection(); pStatement=connection.prepareStatement(sql); resultSet=pStatement.executeQuery(); if (resultSet.next()) { return true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ LoginUtil.close(connection,pStatement, resultSet); } return false; }}
4.User
package servlet;public class User {private String name;private String password;public User(String name, String password) { super(); this.name = name; this.password = password;}public String getName() { return name;}public void setName(String name) { this.name = name;}public String getPassword() { return password;}public void setPassword(String password) { this.password = password;}}
5.UserDao
package servlet;import java.net.URLPermission;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;/** * * @author Administrator * */public class UserDao { private static UserDao instance =null; static Connection conn=null; PreparedStatement st=null; ResultSet rs=null; private UserDao(){ } public static UserDao getInstance() { //return instance; if(instance==null){ instance=new UserDao(); }// try {// if (conn==null || conn.isClosed()) {// conn=LoginUtil.getConnection();// }// // } catch (SQLException e) {// // TODO Auto-generated catch block// e.printStackTrace();// } return instance; } public void save(User user){ String sql="insert into user value(?,?)"; try { st=conn.prepareStatement(sql); st.setString(1,user.getName()); st.setString(2, user.getPassword()); System.out.println("getname"+user.getName()+"getpassword"+user.getPassword()); st.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally { try { LoginUtil.close(conn, st,rs); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public boolean select(User user) { // TODO Auto-generated method stub String sql="select * from user where name=? && password=?"; try{ conn=LoginUtil.getConnection(); st=conn.prepareStatement(sql); st.setString(1,user.getName()); st.setString(2, user.getPassword()); rs= st.executeQuery(); if(translate(rs).size()==0){ return true; } }catch(Exception e){ e.printStackTrace(); }finally {// try {// // LoginUtil.close(conn, st,rs);// } catch (SQLException e) {// // TODO Auto-generated catch block// e.printStackTrace();// } } return false; } private List<User> translate(ResultSet rs) throws SQLException{ List<User> l=new ArrayList<User>(); while(rs.next()){ l.add(new User(rs.getString("name"),rs.getString("password"))); } return l; } public void setConn(Connection conn) { this.conn = conn; } public void opeanTrasaction() throws SQLException{ if(conn==null||conn.isClosed()){ conn=LoginUtil.getConnection(); } conn.setAutoCommit(false); } public void commit() throws SQLException{ conn.commit(); } public void rollback() throws SQLException{ conn.rollback(); } public void close() throws SQLException{ LoginUtil.close(conn, st, rs); }}
剩下就是复制代码喽。。
0 0
- 登录界面,数据库,服务器,客户端的连接
- 连接数据库的登录界面
- 一般服务器数据库的默认登录界面
- c# winform做的SqlServer数据库服务器连接配置登录界面
- JSP简单登录界面连接数据库的代码
- java swing 通过hibernate连接数据库的客户端登录
- Android 登录界面连接PHP后台服务器
- 免安装oracle客户端连接数据库服务器的方法
- 免安装oracle客户端连接数据库服务器的方法
- .net不用客户端连接Oracle数据库服务器的例子
- android客户端连接infomix数据库登录
- andriod客户端与php服务器交互登录界面
- SVN客户端界面完工+与服务器交互注册登录实现
- ORACLE数据库客户端连接访问服务器
- ORACLE客户端与数据库服务器连接
- 解决客户端无法连接服务器数据库SQL2000
- 能够与服务器连接交互的拥有界面的客户端-------------聊天窗口(实现群聊)
- 安卓实训第三天---简单的用户登录界面,用HTTPURLConnection实现与服务器的连接
- Activity四种启动模式(一)
- JAVA基础再回首(十)——StringBuffer类概述、添加、删除、替换、反转、截取功能、StringBuilder
- PPT滚动条文本框
- CollapsingToolbarLayout / AppBarLayout / CoordinatorLayout / FloatingActionB
- 虚拟地址和物理地址及其映射
- 登录界面,数据库,服务器,客户端的连接
- Java算法——二维数组的遍历,求和
- HDU 5695 Gym Class(优先队列+拓扑排序)
- 1021: A除以B
- int位操作实现权限
- tjut 2859
- js --- 设计模式
- 设计模式-单例模式(一)
- zzuli 1905: 小火山的跳子游戏