登录界面设计

设计一个使用servlet连接前后台的界面

下面是各个文件的具体代码(本文章仅是本人笔记使用,如有阅读不适敬请见谅~)
jsp文件

<%--
  Created by IntelliJ IDEA.
  User: 13905
  Date: 2022/4/27
  Time: 17:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>欢迎登录后台管理系统</title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <script language="JavaScript" src="js/jquery.js"></script>
    <script src="js/cloud.js" type="text/javascript"></script>

    <script language="javascript">
        $(function(){
            $('.loginbox').css({'position':'absolute','left':($(window).width()-692)/2});
            $(window).resize(function(){
                $('.loginbox').css({'position':'absolute','left':($(window).width()-692)/2});
            })
        });
    </script>

</head>

<body style="background-color:#df7611; background-image:url(images/light.png); background-repeat:no-repeat; background-position:center top; overflow:hidden;">



<div id="mainBody">
    <div id="cloud1" class="cloud"></div>
    <div id="cloud2" class="cloud"></div>
</div>


<div class="logintop">
    <span>欢迎登录后台管理界面平台</span>
</div>

<div class="loginbody">

    <span class="systemlogo"></span>
    <br />
    <%
        //声明java代码块进行错误提示语的逻辑校验
        Object obj=request.getAttribute("flag");
        if(obj!=null){
    %>
    <div style="text-align: center;">
        <span style="font-size: 15px;color:darkred;font-weight: bold;">用户名或者密码错误</span>
    </div>
    <%} %>
    <%
        //声明java代码块进行密码修改提示语
        Object pwd=session.getAttribute("pwd");
        if(pwd!=null){
    %>
    <div style="text-align: center;">
        <span style="font-size: 15px;color:darkred;font-weight: bold;">密码修改成功</span>
    </div>
    <%}
        session.removeAttribute("pwd");
    %>
    <%
        //声明java代码块进行注册提示语
        Object reg=session.getAttribute("reg");
        if(reg!=null){
    %>
    <div style="text-align: center;">
        <span style="font-size: 15px;color:darkred;font-weight: bold;">注册成功</span>
    </div>
    <%}
        session.removeAttribute("reg");
    %>
    <div class="loginbox loginbox1">
        <form action="UserServlet" method="post">
            <input type="hidden" name="oper" value="login" />
            <ul>
                <li></li>
                <li><input name="uname" type="text" placeholder="用户名" class="loginuser"  /></li>
                <li><input name="pwd" type="password" placeholder="密码" class="loginpwd"  /></li>
                <li class="yzm">
                    <span><input name="" type="text" value="验证码" onclick="JavaScript:this.value=''"/></span><cite>X3D5S</cite>
                </li>
                <li><input name="" type="submit" class="loginbtn" value="登录"  onclick="javascript:window.location='main.html'"  /><label><a href="user/reg.jsp">注册</a></label><label><a href="#">忘记密码?</a></label></li>
            </ul>
        </form>

    </div>

</div>


<div class="loginbm">版权所有 尚学堂  <a href="http://www.uimaker.com">uimaker.com</a>  仅供学习交流,勿用于任何商业用途,交流QQ189088900878</div>


</body>

</html>


main.jsp

<%--
  Created by IntelliJ IDEA.
  User: 13905
  Date: 2022/4/28
  Time: 11:27
  To change this template use File | Settings | File Templates.
--%>
<%--<%--%>
<%--    String path = request.getContextPath();--%>
<%--//    String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";--%>
<%--%>--%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>信息管理系统界面</title>
</head>
<frameset rows="88,*,31" cols="*" frameborder="no" border="0" framespacing="0">
    <frame src="top.jsp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
    <frameset cols="187,*" frameborder="no" border="0" framespacing="0">
        <frame src="left.jsp" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
        <frame src="right.jsp" name="rightFrame" id="rightFrame" title="rightFrame" />
    </frameset>
    <frame src="footer.jsp" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" title="bottomFrame" />
</frameset>
<noframes><body>
</body></noframes>
</html>

java文件
文件分类
文件分类
User.java

package com.bjsxt.pojo;

public class User {
    private int uid;
    private String uname;
    private String pwd;
    private String sex;
    private int age;
    private String birth;

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getBirth() {
        return birth;
    }

    public void setBirth(String birth) {
        this.birth = birth;
    }
}

UserServlet.java

package com.bjsxt.servlet;

import com.bjsxt.pojo.User;
import com.bjsxt.service.UserService;
import com.bjsxt.service.impl.UserServiceimpl;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
import org.apache.log4j.Logger;

import java.io.IOException;

@WebServlet(name = "UserServlet", value = "/UserServlet")
public class UserServlet extends HttpServlet {
    //声明日志对象
    Logger logger = Logger.getLogger(UserServlet.class);

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置请求编码格式
        req.setCharacterEncoding("utf-8");
        //设置响应编码格式
        resp.setContentType("text/html;charset=utf-8");
        //获取操作符
        String oper = req.getParameter("oper");
        if ("login".equals(oper)){
            //调用登录处理方式
            checkUserLongin(req,resp);
        }else if ("reg".equals(oper)){
            //调用注册功能
        }else {
            logger.debug("没有找到对应的操作符:"+oper);
            //System.out.println("没有找到对应的操作符:"+oper);
        }


    }
    //处理登录
    private void checkUserLongin(HttpServletRequest req,HttpServletResponse resp){
        //获取请求信息
        String uname=req.getParameter("uname");
        String pwd = req.getParameter("pwd");
        System.out.println(uname+":"+pwd);
            //处理请求信息
                //获取service层对象
        UserService us = new UserServiceimpl();
                //校验
        User u=us.checkUserLoginService(uname,pwd);
        if (u!=null){
            //获取session层对象
            //重定向
            try {
                resp.setContentType("text/html; charset=utf-8");
                resp.sendRedirect("main/main.jsp");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
            //响应处理结果
                //直接响应
                //请求转发

    }
}

UserService.java

package com.bjsxt.service;

import com.bjsxt.pojo.User;



public interface UserService {
    /**
     * 校验用户登录
     * @param uname 用户名
     * @param pwd 密码
     * @return 返回查询到的用户信息
     */
    User checkUserLoginService(String uname,String pwd);
}

UserServiceimpl.java

package com.bjsxt.service.impl;

import com.bjsxt.dao.UserDao;
import com.bjsxt.dao.impl.UserDaoImpl;
import com.bjsxt.pojo.User;
import com.bjsxt.service.UserService;
import org.apache.log4j.Logger;

public class UserServiceimpl implements UserService {
    //声明日志对象
    Logger logger=Logger.getLogger(UserServiceimpl.class);
    //User u = ud.checkUserLoginDao(uname,pwd);
    //声明Dao层对象
    UserDao ud =new UserDaoImpl();
    //用户登录
    @Override
    public User checkUserLoginService(String uname, String pwd) {
        //打印日志
        logger.debug(uname+"发起登录请求");
        User u=ud.checkUserLoginDao(uname,pwd);
        //判断
        if (u!=null){
            logger.debug(uname+"登录成功");
        }else {
            logger.debug(uname+"登录成功");
        }
        return u;
    }
}

UserDao.java

package com.bjsxt.dao;

import com.bjsxt.pojo.User;

public interface UserDao {
    /**
     * 根据用户名和密码查询用户信息
     * @param uname 用户名
     * @param pwd   密码
     * @return  返回查询到的用户信息
     */
    User checkUserLoginDao(String uname,String pwd);
}

UserDaoImpl.java

package com.bjsxt.dao.impl;

import com.bjsxt.dao.UserDao;
import com.bjsxt.pojo.User;

import java.sql.*;

public class UserDaoImpl implements UserDao {
    @Override
    public User checkUserLoginDao(String uname, String pwd) {
        //声明jdbc对象
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        //声明变量
        User u =null;
        try {
            //加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //获取连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
            //创建sql命令
            String sql= "select * from t_user where uname=? and pwd=?";
            //创建sql命令对象
            ps=conn.prepareStatement(sql);
            //给占位符赋值
            ps.setString(1,uname);
            ps.setString(2,pwd);
            //执行sql
            rs = ps.executeQuery();
            //遍历结果
            while (rs.next()){
                //给变量赋值
                u = new User();
                u.setUid(rs.getInt("uid"));
                u.setUname(rs.getString("uname"));
                u.setPwd(rs.getString("pwd"));
                u.setSex(rs.getString("sex"));
                u.setAge(rs.getInt("age"));
                u.setBirth(rs.getString("birth"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //关闭资源
            try {
                rs.close();
            } catch (SQLException e) {
                //TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                conn.close();
            } catch (SQLException e) {
                //TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        //关闭资源
        //返回结果
        return u;
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值