JavaWeb核心知识点实战简单学生管理系统

简介: JavaWeb核心知识点实战简单学生管理系统

这个版本是没有数据库的,存储于文本需要用到IO流,用到的知识有:登录的form表单以及获取表单数据,bootstrap简单修饰界面,servlet相关知识点如:四大作用域对象存储数据进行交互,session销毁登录状态,cookie实现最后一次访问时间的记录,请求转发(请求域一次请求中有效)用作回显数据,重定向跳转页面,filter乱码过滤器和权限过滤器等等...

流程图:

纯手工作图感觉不错,这才像样么.以后多画.提示思路而且有方向.


Servlet是用来处理逻辑的,jsp是显示页面的,虽然说jsp也是Servlet但是显示页面还是jsp更专业,因为jsp就是个长得像html的Servlet.暂时没有使用mvc模式就contraller做逻辑吧.

登录效果:

登录成功:

查看学生:

记事本作为假数据库存储

登录失败:

登录失败回显数据至登录页面

filter乱码过滤器:

package com.zgl.web.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter("/*")
public class CharacterEncodingFilter implements Filter {
    public void destroy() {
    }
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        chain.doFilter(req, resp);
    }
    public void init(FilterConfig config) throws ServletException {
    }
}

filter权限过滤器:

package com.zgl.web.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebFilter("/*")
public class LoginFilter implements Filter {
    public void destroy() {
    }
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
      HttpServletRequest request=(HttpServletRequest) req;
        HttpServletResponse response=(HttpServletResponse) resp;
        String url = request.getRequestURL().toString().toLowerCase();
        System.out.println(url);
        if (url.contains("css")||url.contains("fonts")||url.contains("login")){
            chain.doFilter(request,response);
        }else if (request.getSession().getAttribute("name")!=null){
            chain.doFilter(request,response);
        }else {
            response.sendRedirect(request.getContextPath()+"/login.jsp");
        }
        }
  /*      chain.doFilter(req, resp);*/
    public void init(FilterConfig config) throws ServletException {
    }
}
目录
相关文章
|
9天前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
36 7
|
10天前
|
Java 程序员 Windows
【Java知识点详解 10】为何要配置环境变量,35岁老年程序员的绝地翻身之路
【Java知识点详解 10】为何要配置环境变量,35岁老年程序员的绝地翻身之路
|
10天前
|
Java 程序员
Java this关键字详解(3种用法),Java程序员面试必备的知识点
Java this关键字详解(3种用法),Java程序员面试必备的知识点
|
2天前
|
存储 Java
Java语言中的类与对象:深入解析与实战应用
Java语言中的类与对象:深入解析与实战应用
|
2天前
|
存储 Java 数据库
学妹哭着找你教的Javaweb的文件上传与下载
该内容主要介绍了JavaWeb中的文件上传和下载操作。首先,通过一个JSP表单接收用户输入的图书信息和封面照片,表单数据提交给`AddBookServlet`。在Servlet中,使用SmartUpload库处理上传的图片,将图片以书号命名并保存至服务器,同时将图书信息存储到数据库。之后,请求转发到`ShowBook.jsp`展示所添加图书的详细信息。文件下载部分,通过`downServlet`完成,用户点击链接触发下载,Servlet设置响应头以附件形式提供文件下载。
10 1
|
2天前
|
SQL Java 关系型数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
7 0
|
3天前
|
设计模式 Java 数据库连接
JAVA设计模式解析与实战
本文探讨了Java中的常见设计模式,包括单例模式、工厂模式和观察者模式。单例模式确保类只有一个实例,常用于管理资源;工厂模式通过抽象工厂接口创建对象,降低了耦合度;观察者模式实现了一对多的依赖关系,当主题状态改变时,所有观察者都会收到通知。理解并运用这些设计模式能提升代码的复用性、可扩展性和可维护性。
|
3天前
|
Java 程序员
JAVA集合框架详解与实战
这篇文档介绍了Java集合框架,包括Collection、List、Set和Queue接口及其常用实现类。List允许重复元素,如ArrayList和LinkedList;Set不允许重复,如HashSet和TreeSet;Queue支持队列操作,如LinkedList。文章通过代码示例展示了这些接口的使用方法,强调了集合框架在实际开发中的重要性及选择合适集合类型以优化代码的必要性。
|
3天前
|
Java Android开发 数据安全/隐私保护
JAVA编程的魅力与实战应用
这篇文章探讨了JAVA编程语言的魅力和实战应用。JAVA凭借其平台无关性、面向对象编程、高安全性和庞大的开发者社区,成为开发者首选。在Web开发中,JAVA的Spring等框架简化了开发过程;在安卓开发中,JAVA是构建移动应用的基础。无论是Web应用的高效开发还是安卓应用的广泛普及,JAVA都展现出强大功能和广阔的应用潜力。
|
3天前
|
前端开发 JavaScript Java
JAVA Web开发入门与实战
本文引导读者入门JAVA Web开发,介绍了Web开发的基本概念,如Servlet、JSP和JavaBean,并详细阐述了JAVA Web开发环境的搭建。文章通过一个在线书店系统的实战项目,展示了从需求分析、数据库设计到前后端开发的全过程,涵盖Servlet处理请求、JSP动态生成页面及表单添加书籍功能。最后,文章提及了进阶技术,如框架使用、前端集成和安全性考虑,鼓励读者深入探索JAVA Web开发的广阔世界。