在线问答(服务端部分)

服务端编写主要用到的工具是Sevlert语言,和myeclipse编程工具。

注册部分核心代码:

package rico_cliente;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Iterator;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.omg.CORBA.Object;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/*
* http://localhost:8080/maiji/register.do?Data={"LoginName":"tom","Interesting":["game","sports"]}
*/
public class RegisterServlet4AndroidClient extends HttpServlet {
public RegisterServlet4AndroidClient() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
/*
* Data= {
* "LoginName":"tom"
* "Interesting":["game","sports"]
* }
*/
String data = request.getParameter("Data");
System.out.println(data);
/* json数据的解析|剥离*/
/*
* json-lib解析JSON数据的核心代码
*/
JSONObject object = JSONObject.fromObject(data);

String loginName = object.getString("LoginName");
System.out.println("注册的登录名是:"+loginName);
String loginPassword = object.getString("LoginPassword");
System.out.println("注册的登录密码是:"+loginPassword);

// JSONArray array = object.getJSONArray("Interesting");
// System.out.println("注册的兴趣爱好有:");
// if(array != null){
// for (Object obj : array) {
// System.out.print(obj.toString() +"\t");
// }
// }
// for (int i = 0; i < array.length(); i++) {
//
// }
/*
* 业务处理
*/

request.setCharacterEncoding("gb2312");
response.setContentType("text/heml;charset=gb2312");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
ResultSet rs = null;
Statement stmt = null;
Connection cnn =null;

/*
* 响应:封装json结果
* {
* "result":"success"
* "errorMsg":""
*
* }
* {
* "result":"failed"
* "errorMsg":"服务器处理错误,注册失败"
*
* }
*/


/**
* 返回值
* */

PrintWriter out=null;

try{
String user = "root";
String password = "123456";
out=response.getWriter();
ResultJSONBean jsonBean = new ResultJSONBean();
Class.forName("com.mysql.jdbc.Driver");
System.out.println("成功加载数据库驱动程序");
cnn = DriverManager.getConnection("jdbc:mysql://localhost:3306/androidclent", user, password);
stmt = cnn.createStatement();
rs = stmt.executeQuery("SELECT * FROM cloentregister where emp_name = '"+loginName+"'");
if (rs.next()) {
jsonBean.setResult("failed");
jsonBean.setErrorMsg("登陆名已被使用");
JSONObject obj = JSONObject.fromObject(jsonBean);
System.out.println(obj.toString());
out.print(obj.toString());
}else{
stmt.executeUpdate("INSERT INTO cloentregister(emp_name,emp_passward)VALUES('"+loginName+"','"+loginPassword+"')");
jsonBean.setResult("success");
jsonBean.setErrorMsg("");
JSONObject obj = JSONObject.fromObject(jsonBean);
System.out.println(obj.toString());
out.print(obj.toString());
}

/**************************************************/
// rs = stmt.executeQuery("SELECT * FROM cloentregister");
// while (rs.next()) {
// System.out.println(rs.getString("emp_name"));
//
// }





// jsonbean.setResult("success");
// jsonbean.setErrorMsg("");

}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
if(out!=null){
out.close();
}
try {
if(rs != null){
rs.close();
rs = null;
}
if(stmt != null){
stmt.close();
stmt = null;
}
if(cnn != null){
cnn.close();
cnn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}

}
}
}

 登录部分核心代码:

package rico_cliente;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* http://localhost:8080/maiji/begin.du
*http://localhost:8080/maiji/begin.du?LoginName=tom&LoginPassword=123
* */
public class Rico_sndddb extends HttpServlet {

public Rico_sndddb() {
super();
}


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

System.out.println("get");
this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

System.out.println("post");
request.setCharacterEncoding("UTF-8");

// try {
// Thread.sleep(5000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }

/*
* 取值
* */
String loginName=request.getParameter("LoginName");
String loginPassword=request.getParameter("LoginPassword");
System.out.println(loginName);
System.out.println(loginPassword);

//避免乱码
response.setCharacterEncoding("UTF-8");
/*
* 默认的
* text/html
* */
response.setContentType("text/html;charset=UTF-8");
/**
* 返回值
* */
request.setCharacterEncoding("gb2312");
response.setContentType("text/heml;charset=gb2312");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
ResultSet rs = null;
Statement stmt = null;
Connection cnn =null;
PrintWriter out=null;

try{
out=response.getWriter();
/**
* 登陆的业务判断*/
boolean bool = false;
String name;
String spassword;
String user = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
System.out.println("成功加载数据库驱动程序");
cnn = DriverManager.getConnection("jdbc:mysql://localhost:3306/androidclent", user, password);
stmt = cnn.createStatement();
rs = stmt.executeQuery("SELECT * FROM cloentregister");
while (rs.next()) {
name=rs.getString("emp_name");
spassword=rs.getString("emp_passward");
if(loginName.equals(name)&&loginPassword.equals(spassword)){
//登陆正确
bool=true;
break;
}

}

if(bool){
//登陆正确
out.print("success");

}
else{
//登陆失败
out.print("failed");
}
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
if(out!=null){
out.close();
}
}

}

}

转载于:https://www.cnblogs.com/softworeblog/p/4618384.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值