JavaWeb三层结构实例

本文通过一个小型的用户登录案例,详细介绍了JavaWeb的三层结构实现。程序概述部分阐述了整体构思,代码部分展示了工程的目录结构,包括servlet、service和dao层,以及对应的界面文件index.jsp和success.jsp。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、程序概述

用小型的用户登陆来模拟JavaWeb的三层结构,构思图如下:
这里写图片描述

二、代码

  • 工程目录
    这里写图片描述
  • com.sky.web.servlet
//1.得到由客户端传来的参数
String username = request.getParameter("username");
String password = request.getParameter("password");
//2.调用业务层的方法,
LoginService ls = new LoginService();
boolean flag=ls.findUserByUsernameAndPassword(username, password);
//3.根据业务层的结果,调用不同资源界面
if(flag){
    //3.1如果用户存在数据库中,则跳转到成功界面
    request.getSession().setAttribute("name", username);
    response.sendRedirect("/javaweb_mvc/success.jsp");
}else{
    //3.2用户不存在,通过session返回错误信息
    request.getSession().setAttribute("msg", "用户名或密码错误");
    response.sendRedirect("/javaweb_mvc/index.jsp");
}
  • com.sky.servic
public boolean findUserByUsernameAndPassword(String username,String password) throws Exception{

    boolean flag = UserDAO.selectUserExist(username,password);
    return flag;
}
  • com.sky.dao
static{
    try {
        //1.创建数据的驱动
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

}
public static boolean selectUserExist(String username,String password) throws Exception{
    //2.与数据库建立连接
    Connection con = DriverManager.getConnection("jdbc:mysql:///mystudy","root","dytion");
    //3.查找数据,
    PreparedStatement pstt = con.prepareStatement("select * from user where username=? and password =?");
    pstt.setString(1, username);
    pstt.setString(2, password);
    //4.根据结果返回flag
    boolean flag = false;

    ResultSet rs = pstt.executeQuery();
    if(rs.next()){
        flag=true;
    }

    closesql(con,pstt);
    /*System.out.println(username+"……DAO……"+password);
    System.out.println(flag);*/
    return flag;
}
  • index.jsp
<div align="center" ><%=session.getAttribute("msg")==null?"":session.getAttribute("msg")%></div>
  <form action="/javaweb_mvc/loginservlet" method="post">
    <table align="center">
        <caption style="color:red;font-size: 30px">用户登陆</caption>
        <tr>
            <td>用户名:</td>
            <td><input type="text" id="username" name="username"/></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" id="password" name="password"></td>
        </tr>
   <!--     <tr>
            <td>验证码:</td>
            <td><input type="text" id="checktext"/></td>
        </tr> -->
        <tr>
            <td align="center"><input type="submit" name="login" value="登陆" ></td>
            <!-- <td align="center"><input type="submit" name="sign" value="注册"></td> -->

    </table>
   </form>
  • success.jsp
<h1><%=session.getAttribute("name") %>,欢迎登陆………………</h1>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值