完成客户端请求处理D/---ServerThread
2004-12-18 14:15
375 查看
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import util.*;
/*
*
* @author zhang
* 完成客户端请求处理
*
*/
public class ServerThread extends Thread{
private final int Error=0; //查询出错
private final int N_VALIDE=1;//不合法
private final int VALIDE=2;//合法
private Angent angent;
private PrintWriter out;
private String userId;
private String password;
private ChatProtocol cp;
public ServerThread(Angent aangent) {
angent=aangent;
userId=angent.getUserId();//得到用户的帐号密码
password=angent.getPassword();
cp=new ChatProtocol(angent);//根据聊天内容建立一个protocol对象
}
public void run() {
int i=isValid();
out.println(i);/*向客户端发送验证信息*/
if(i<VALIDE) this.stop(); //本线程中止
//登陆成功,进行消息处理和转接
cp.chat();//开始聊天
}
private int isValid() {//验证用户的合法性
String sql="select from user where userId=? and password=?";
try {
return SqlFactory.getPassSql().isValidate(sql,userId,password)?VALIDE:N_VALIDE;
} catch (SQLException e) {
System.out.println("用户验证查询时出错");
e.printStackTrace();
return Error;
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import util.*;
/*
*
* @author zhang
* 完成客户端请求处理
*
*/
public class ServerThread extends Thread{
private final int Error=0; //查询出错
private final int N_VALIDE=1;//不合法
private final int VALIDE=2;//合法
private Angent angent;
private PrintWriter out;
private String userId;
private String password;
private ChatProtocol cp;
public ServerThread(Angent aangent) {
angent=aangent;
userId=angent.getUserId();//得到用户的帐号密码
password=angent.getPassword();
cp=new ChatProtocol(angent);//根据聊天内容建立一个protocol对象
}
public void run() {
int i=isValid();
out.println(i);/*向客户端发送验证信息*/
if(i<VALIDE) this.stop(); //本线程中止
//登陆成功,进行消息处理和转接
cp.chat();//开始聊天
}
private int isValid() {//验证用户的合法性
String sql="select from user where userId=? and password=?";
try {
return SqlFactory.getPassSql().isValidate(sql,userId,password)?VALIDE:N_VALIDE;
} catch (SQLException e) {
System.out.println("用户验证查询时出错");
e.printStackTrace();
return Error;
}
}
}
相关文章推荐
- web服务器和客户端完成并行处理请求三大方式
- [笨木头FireFly 02]入门篇_客户端发送请求,服务器处理请求
- Url请求长度HTTP协议不对URI的长度作事先的限制,服务器必须能够处理任何他们提供资源的URI,并且应该能够处理无限长度的URIs,这种无效长度的URL可能会在客户端以基于GET方式的请求时产生。
- 封装好的客户端请求xmlhttp处理
- Cassandra 处理客户端请求
- HTTP核心模块配置静态web服务器 8-对客户端请求的特殊处理
- Apache与Nginx对客户端请求的处理机制对比
- I/O模型和原理,以及简单解析客户端请求WEB服务器内部处理过程,MPM三种模
- TCP编程:多进程(fork)并发处理客户端请求
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- 一般处理程序结合反射技术统一执行客户端请求
- 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或打开对每个 Microsoft .NET Framework SDK 文档的跟踪并检查服务器跟踪日志。
- [笨木头FireFly 02]入门篇2_客户端发送请求,服务器处理请求
- SpringMVC 处理客户端请求的过程
- XP下解决“system.web.services.protocols.soapexception:服务器无法处理请求。…〉system.exception:system.data.oracleclient 需要oracle客户端软件8.1.7或更高版本。
- IRP请求处理及完成机制
- IIS处理客户端请求步骤
- 自己封装的Socket组件,实现服务端多进程共享Socket对象,协同处理客户端请求
- 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置
- 课程 Java Web程序设计02: 处理客户端请求: 表单数据