javaweb案例一

这篇博客详细介绍了使用JavaWeb实现登录、添加联系人、删除、修改和分页查询等功能,涵盖了前端代码和后端代码的实现,包括验证码刷新、表单验证、数据封装、Service层操作以及分页查询的处理。同时,指出了在开发过程中容易忽视的细节和问题,如防止验证码重复、误删保护、回显信息等。
摘要由CSDN通过智能技术生成


一、登录界面

图片:
在这里插入图片描述

1.前端代码

  • 改造验证码
<img src="${pageContext.request.contextPath}/checkCodeServlet" title="看不清点击刷新" id="vcode"/>
  • 点击验证码刷新
    加new Date().getTime()的原因在于,时间不重复,因此更新验证就不会重复。
<script type="text/javascript">
        //切换验证码
        function refreshCode(){
     
            //1.获取验证码图片对象
            var vcode = document.getElementById("vcode");

            //2.设置其src属性,加时间戳
            vcode.src = "${pageContext.request.contextPath}/checkCodeServlet?time="+new Date().getTime();
        }
    </script>
<a href="javascript:refreshCode();">
  • 提交表单
<form action="${pageContext.request.contextPath}/loginServlet" method="post">
  • 出错显示的信息框
 <div class="alert alert-warning alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert" >
            <span>&times;</span>
        </button>
        <strong>${login_msg}</strong>
        <!-- 对应后面的:request.setAttribute("login_msg","用户名或密码错误!"); -->
    </div>

2.后端代码

  • 设置编码
request.setCharacterEncoding("utf-8");
  • 获取用户填写验证码,getParameter()的参数是验证码栏的name字段
<input type="text" name="verifycode" class="form-control" id="verifycode" placeholder="请输入验证码" style="width: 120px;"/>

String verifycode = request.getParameter("verifycode");//得到的是页面获取的验证码
  • 验证码校验
    checkCodeServlet里面,将生成的验证码存放在session中。
//将验证码放入HttpSession中
request.getSession().setAttribute("CHECKCODE_SERVER",checkCode);

equalsIgnoreCase()忽略大小写比较。

HttpSession session = request.getSession();
String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER");//获取了生成的验证码
session.removeAttribute("CHECKCODE_SERVER");//确保验证码一次性
        if(!checkcode_server.equalsIgnoreCase(verifycode)){
   
            //验证码不正确
            //提示信息
            request.setAttribute("login_msg","验证码错误!");
            //跳转登录页面
            request.getRequestDispatcher("/login.jsp").forward(request,response);

            return;
        }

注意:写到这里时,记得先验证是否正确。再进行下一步!!!!!
session.removeAttribute(“CHECKCODE_SERVER”);//确保验证码一次性,注意这一步!!!!

  • 获取所有的数据(只有用户名和密码)
Map<String, String[]> map = request.getParameterMap();
  User user = new User();
        try {
   
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
   
            e.printStackTrace();
        } catch (InvocationTargetException e) {
   
            e.printStackTrace();
        }
  • 调用Service查询
UserService service = new UserServiceImpl();
User loginUser = service.login(user);//查询我用户输入的账户是否存在
  • 判断是否登录成功
		if(loginUser != null){
   
            //登录成功
            //将用户存入session
            session.setAttribute("user",loginUser);
            //跳转页面
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }else{
   
            //登录失败
            //提示信息
            request.setAttribute("login_msg","用户名或密码错误!");
            //跳转登录页面
            request.getRequestDispatcher("/login.jsp").forward(request,response);

        }

注意:request没有共享数据,因此,登录成功之后,进行重定向!!!
注意:数据库的表需创建,还有配置文件需配置!

二、添加功能

分析图:
在这里插入图片描述

1.前端代码

  • 修改添加联系人的跳转页面路径
<a class="btn btn-primary" href="${pageContext.request.contextPath}/add.jsp">添加联系人</a>
  • 修改头信息
<center><h3>添加联系人页面</h3></center>
    <form action="${pageContext.request.contextPath}/addUserServlet" method="post">

注意要给表单加name,不然后端获取数据时,获取不了,为null!!!!

<input type="text" class="form-control
  • 27
    点赞
  • 276
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
以下是一个简单的 JavaWeb 项目完整案例项目名称:图书管理系统 技术栈:Java、Servlet、JSP、MySQL、Tomcat 功能模块: 1. 用户登录:用户输入用户名和密码登录系统。 2. 图书查询:用户可以根据图书名称、作者、出版社等信息查询图书。 3. 图书借阅:用户可以选择图书进行借阅,并记录借阅时间和归还时间。 4. 图书归还:用户可以归还已借阅的图书,并更新归还时间。 5. 用户管理:管理员可以对用户进行添加、修改、删除等操作。 6. 图书管理:管理员可以对图书进行添加、修改、删除等操作。 7. 借阅记录查询:管理员可以查询借阅记录,包括借阅时间、归还时间等信息。 8. 统计报表:管理员可以生成图书借阅统计报表,包括借阅次数、借阅时间等信息。 实现步骤: 1. 数据库设计:设计数据库表结构,包括用户表、图书表、借阅记录表等。 2. 编写 JavaBean:编写 JavaBean 类,包括用户类、图书类、借阅记录类等。 3. 编写 DAO 层:编写数据访问层代码,实现对数据库的增删改查等操作。 4. 编写 Servlet:编写 Servlet 类,处理用户请求,调用 DAO 层代码进行数据操作。 5. 编写 JSP:编写 JSP 页面,展示数据和用户界面。 6. 部署项目:将项目部署到 Tomcat 服务器上,测试项目功能。 以上是一个简单的 JavaWeb 项目完整案例。当然,实际项目可能会更加复杂,需要考虑更多的业务需求和技术实现细节。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值