项目基础

一.技术选型

1、jsp&servlet
2、jquery 及插件
3、UEditor
4、log4j
5、junit

二、开发环境

Eclipse + mysql + window + jdk1.8 + tomcat8
注意: tomcat8 字符集为 utf-8 (get | tomcat7 以下) POST 所有的服务都需要处理

1、准备
1、配置 JDK
Window —> preferences (参数选择) —> java —> installed JRES
—> Add —>Standard VM (标准 Java 虚拟器设置)—> 找到对应的 JDK
2、配置 Tomcat
Window —> preferences —> Server —> Runtime Environments
(运行环境) —> Add —> Apache —> 选择 Apache Tomcat v8.0
—> 找到 tomcat 路径以及设置对应的 jdk

三、编写 PO

Java 的几种对象(PO,VO,DAO,BO,POJO)解释
一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的 java 对象。最
简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。PO 中应
该不包含任何对数据库的操作。
二、VO:value object 值对象。通常用于业务层之间的数据传递,和 PO 一样也是仅仅包
含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.
三、DAO:data access object 数据访问对象,此对象用于访问数据库。通常和 PO 结合
使用,DAO 中包含了各种数据库的操作方法。通过它的方法,结合 PO 对数据库进行相关的
操作。

  • 通过用户名和密码查询User对象
  • @param uname
  • @param upwd
  • @return
    /
    public User queryUserByUnameAndUpwd (String uname) {
    User user = null;
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    try {
    // 打开连接
    connection = DBUtil.getConnection();
    // 编写Sql
    String sql = "select userid,uname,upwd,nick,head,mood from tb_user where uname = ? ";
    // 预编译
    preparedStatement = connection.prepareStatement(sql)// 传参数
    preparedStatement.setString(1, uname);
    // 执行查询
    resultSet = preparedStatement.executeQuery();
    // 如果查询到有值
    while(resultSet.next()) {
    user = new User();
    // 赋值
    user.setHead(resultSet.getString(“head”));
    user.setMood(resultSet.getString(“mood”));
    user.setNick(resultSet.getString(“nick”));
    user.setUname(resultSet.getString(“uname”));
    user.setUpwd(resultSet.getString(“upwd”));
    user.setUserId(resultSet.getInt(“userid”));
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    // 关闭资源
    DBUtil.close(resultSet, preparedStatement, connection);
    }
    return user;
    }
    /
    *
  • 验证昵称是否唯一
  • @param nick
  • @return
    /
    public boolean checkNick(String nick) {
    boolean flag = false;
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    try {
    // 打开连接
    connection = DBUtil.getConnection();
    // 编写sql
    String sql = “select count(userid) from tb_user where nick = ?”;
    // 预编译
    preparedStatement = connection.prepareStatement(sql)// 传参数
    preparedStatement.setString(1, nick);
    // 执行查询
    resultSet = preparedStatement.executeQuery();
    // 如果查询到有值
    while (resultSet.next()) {
    return resultSet.getInt(1) > 0;
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    // 关闭资源
    DBUtil.close(resultSet, preparedStatement, connection);
    }
    return flag;
    }
    /
    *
  • 修改用户信息
  • @param user
  • @return
    */
    四、BO:business object 业务对象,封装业务逻辑的 java 对象,通过调用 DAO 方法,结合
    PO,VO 进行业务操作。
    五、POJO:plain ordinary Java object 简单无规则 java 对象.

四.登录

1)、思路
Jsp: 加入 form , 每个表单元素 name 。
form 数据格式存在两种:
 application/x-www-form-urlencoded 默认
 multipart/form-data 文件上传
UserWeb :
针对默认: 使用 request.getParameter() 获取 表达元素
针对文件上传: request.getPart()
2)、Jsp
a)、加入 form b)、加入 name c)、提交表单

protected void login(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//1、获取用户名密码
String uname=request.getParameter(“uname”);
String upwd=request.getParameter(“upwd”);
String rem =request.getParameter(“rem”);
//处理空判断…
//2、调用 Service 判断获取结果
ResultInfo info =us.login(new User(uname,upwd));
//3、根据结果 跳转
if(info.getCode()>0){
//1)、成功 :主页
request.getRequestDispatcher(“main.jsp”).forward(request, response);
}else{
//2)、失败 :登录页 -->扩展。。。。
request.setAttribute(“info”, info); //存储到作用域中
request.getRequestDispatcher(“login.jsp”).forward(request, response);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值