JavaWeb.12.三层架构项目集成
<%
//设置编码方式
request.setCharacterEncoding(“utf-8”);
//接收表单的值:用户名 密码
String name=request.getParameter(“iname”);
String pwd=request.getParameter(“ipwd”);
//调用方法进行判断 是否登录成功
//表示层A 调用 业务逻辑层B
IUserBiz iub=new UserBiz();
//调用登录方法
User u=iub.login(name, pwd);
//判断
if(u!=null){
//说明登录成功
out.print(“登录成功”);
}
else{
//说明登录失败
out.print(“”);
}
%>
<form action="dologin.jsp" method="post">
用户名:<input type="text" name="iname"><br>
密码:<input type="password" name="ipwd"><br>
<input type="submit" value="登录">
<input type="reset" value="清空">
</form>
package com.zking.biz;
import java.util.List;
import com.zking.entity.User;
public interface IUserBiz {
/**
* 查询全部
* @return 用户集合
*/
public List<User> getAll();
/**
* 模糊查询
* @param colName 列名
* @param str 关键字
* @return 用户集合
*/
public List<User> getAll(String colName,String str);
/**
* 根据用户id查询
* @param uuid 编号
* @return 用户对象
*/
public User getUser(int uuid);
/**
* 增加用户
* @param u 用户对象
* @return 影响行数
*/
public int addUser(User u);
/**
* 根据id删除用户
* @param uuid 用户编号
* @return 影响行数
*/
public int deleteUser(int uuid);
/**
* 根据id修改用户
* @param u 用户对象
* @param uuid 用户编号
* @return 影响行数
*/
public int updateUser(User u,int uuid);
/**
* 用户登录
* @param uname 用户名
* @param upwd 密码
* @return 用户对象
*/
public User login(String uname,String upwd);
}
/**
-
业务逻辑层 B
-
@author Janet
-
@date 2022年4月8日 上午10:08:08
*/
public class UserBiz implements IUserBiz {//业务逻辑层B 调用 数据库访问层C
IUserDao iud=new UserDao();//里氏替换原则@Override
public List getAll() {
return iud.getAll();
}@Override
public List getAll(String colName, String str) {
return iud.getAll(colName, str);
}@Override
public User getUser(int uuid) {
return iud.getUser(uuid);
}@Override
public int addUser(User u) {
return iud.addUser(u);
}@Override
public int deleteUser(int uuid) {
return iud.deleteUser(uuid);
}@Override
public int updateUser(User u, int uuid) {
return iud.updateUser(u, uuid);
}@Override
public User login(String uname, String upwd) {
return iud.login(uname, upwd);
}
}
/**
* 接口有何特性?
* 1.接口不能被实例化new 因此要用里氏替换原则
* 2.接口里面所有的方法都默认就是公开的抽象方法 public abstract
*
* 抽象方法有何特点:
* 1.抽象方法没有方法体
* 2.抽象方法在子类中必须被实现(重写) 除非子类也是抽象类
* 3.必须放在抽象类(接口)中
*/
8804

被折叠的 条评论
为什么被折叠?



