四川科技职业学院毕业设计 第30页
发布帖子的核心实现代码如下所示:
if(action.equals(\)){ //action为写新日记 HttpSession session = request.getSession();
User user = (User)session.getAttribute(\); if(user == null){ //用户没有登录 request.setAttribute(\, DIARY_FAIL); }
String u_no = user.u_no; //获得用户的id
String title = (String)request.getParameter(\); String content = (String)request.getParameter(\); String result = DBUtil.writeNewDiary(title, content, u_no); request.setAttribute(\, result);
//将结果设置到
request.getRequestDispatcher(\).forward(request, return;
response);
request的属性中 request.getRequestDispatcher(\).forward(request, response);//返回
}
5.2.5.修改资料设计与实现
当在首页点击“修改资料”时,会出现如下图5-10的界面,在这个界面可以修改个人资料也可以修改头像资料。
图5-10 修改资料界面
授人以渔
能力为本
四川科技职业学院毕业设计 第31页
修改资料页面的核心实现代码如下所示:
if(action.equals(\)){
}
//action为修改用户信息 //action为修改头像
String hid = request.getParameter(\); //读取参数 String uno = request.getParameter(\); //读取参数 if(DBUtil.changeUserHead(uno, hid) == 1){ //修改成功 HttpSession session = request.getSession(); }
request.getRequestDispatcher(\).forward(request,
User u = (User)session.getAttribute(\); u.h_id=hid;
session.setAttribute(\, u);
response);
if(action.equals(\)){
}
String uname = request.getParameter(\); //获得昵称
String uemail = request.getParameter(\); //获得邮箱地址 String ustate = request.getParameter(\); //获得心情 HttpSession session = request.getSession();
//获得Session
User user = (User)session.getAttribute(\); //提取出Session对String uno = user.u_no;
int result = DBUtil.changeUserInfo(uno, uname, uemail, ustate); if(result == 1){ //更改成功 user.u_name = uname; }
request.setAttribute(\, result);
request.getRequestDispatcher(\).forward(request,
user.u_email = uemail; user.u_state = ustate;
session.setAttribute(\, user);
象
response);//跳转
5.2.6.数据库类实现
//方法:使用数据源连接池访问数据库 public static Connection getConnection(){
Connection con = null; //使用数据源连接池
try{
Context initial = new InitialContext(); //其中mysql为数据源jndi名称
// // //
授人以渔 能力为本
四川科技职业学院毕业设计 第32页
// // // // // //
con=DriverManager.getConnection(\,\,\
}
catch(Exception e){ }
return con;
e.printStackTrace();
}
//方法:检查用户名和密码是否正确 public static ArrayList
ArrayList
//声明获取数据库连接
//声明Statement对象
//声明ResultSet对象
PreparedStatement ps = null; }
catch(Exception e){ }
//使用JDBC直接访问数据库 try{
Class.forName(\); e.printStackTrace(); DataSource ds =
con=ds.getConnection();
(DataSource)initial.lookup(\
3\);
con = getConnection(); //获取数据库连接
if(con == null){ //判断数据库连接对象是否 result.add(CONNECTION_OUT); // }
ps = con.prepareStatement(%u_no,u_name,u_email,u_state,h_id ps.setString(1, u_no); ps.setString(2, u_pwd); rs = ps.executeQuery();
//设置预编译语句的参数 //设置预编译语句的参数
return result;
from user where u_no=? and u_pwd=?\);
if(rs.next()){ //判断结果集是否为空 for(int i=1;i<=5;i++){
}
//如果数据库查无此人
result.add(rs.getString(i));
//将结果集中数据存放到
ArrayList中
}
else{
result.add(LOGIN_FAIL); //返回登录出错信息
授人以渔 能力为本
四川科技职业学院毕业设计 第33页
}
}
finally{ }
return result;
try{ } try{ } try{ }
if(con != null){ }
e.printStackTrace();
con.close(); con = null; if(ps != null){ }
e.printStackTrace();
ps.close(); ps = null; if(rs != null){ }
e.printStackTrace();
rs.close(); rs = null;
}
e.printStackTrace();
}catch(Exception e){
}catch(Exception e){
}catch(Exception e){
}catch(Exception e){
5.3.Android客户端设计与实现
5.3.1.登录页面设计与实现
客户端登录实现用户的登录和注册,在此页面用户输入账号和密码后,点击“登录”,如果密码验证通过,则可进入网上论坛管理系统主页面,否则需要重新输入账号和密码。其系统登录页面设计如下图5-11所示。
授人以渔 能力为本
四川科技职业学院毕业设计 第34页
图5-11 登录界面
其“登录”按钮的核心实现代码如下所示:
//方法:连接服务器进行登录 public void login(){ new Thread(){
public void run(){
Looper.prepare();
try{
if(mc == null){ }
EditText etUid = (EditText)findViewById(R.id.etUid); //获得EditText etPwd = (EditText)findViewById(R.id.etPwd); //获得String uid = etUid.getEditableText().toString().trim(); //String pwd = etPwd.getEditableText().toString().trim(); //if(uid.equals(\) || pwd.equals(\)){
//判断输入是否为空
mc = new MyConnector(SERVER_ADDRESS, SERVER_PORT);
帐号EditText 密码EditText
获得输入的帐号 获得输入的密码
Toast.makeText(LoginActivity.this, \请输入帐号或密码!\,
Toast.LENGTH_SHORT).show();//输出提示消息 return;
}
String msg = \+uid+\+pwd; mc.dout.writeUTF(msg);
//组织
//
要返回的字符串
授人以渔 能力为本