JavaBean、MVC、Filter和Listener

这篇具有很好参考价值的文章主要介绍了JavaBean、MVC、Filter和Listener。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JavaBean、MVC、Filter和Listener

JavaBean

JavaBean 是一种JAVA语言写成的可重用组件。

实体类(pojo)。

JavaBean有特殊的写法:

  • 必须要有一个无参构造
  • 属性必须私有
  • 必须要对应的set/get方法

本质就是一个java类

一般用来和数据库字段做映射

ORM:对象关系映射

  • 表--->类
  • 字段--->属性
  • 行记录--->对象
package pojo;

public class People {
    private int id;
    private  String name;
    private  int age;
    private  String address;

    public People() {
    }

    public People(int id, String name, int age, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "People{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
}

MVC三层架构

MVC:Model模型,View视图,Controller控制器

MVC是一种架构模式,是一种软件设计规范,是将业务逻辑、数据、显示分离的方法来组织代码。

  • Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是该模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
  • View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
  • Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。

MVC有多种。

最典型的MVC 就是 J S P + s e r v l e t + j a v a b e a n 的模式

早期架构:

JavaBean、MVC、Filter和Listener

用户直接访问控制层,控制层直接访问数据库

弊端:过于臃肿,不利于维护

经典的MVC三层架构:

JavaBean、MVC、Filter和Listener

JavaBean、MVC、Filter和Listener

Filter

Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
JavaBean、MVC、Filter和Listener

用来过滤网站的数据。

Filter开发步骤:

  1. 导包。除了上面的依赖,如果需要连接mysql还要导入mysql依赖
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.28</version>
</dependency>
  1. 编写过滤器

    注意:实现的Filter一定是servlet包的Filter
    public class MyFilter implements Filter{
    //    初始化:服务器启动
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            System.out.println("已经初始化");
        }
    //    动作
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
            //        解决乱码问题
            request.setCharacterEncoding("UTF-8");
            response.setCharacterEncoding("UTF-8");
            response.setContentType("text/html;charset=utf-8");
    
            System.out.println("过滤器执行前.....");
            chain.doFilter(request,response);//将参数传给下一个过滤器,chain过滤器链
            System.out.println("过滤器执行后.....");
    
    
        }
    //    销毁:服务器关闭
        @Override
        public void destroy() {
            System.out.println("已经销毁");
        }
    }
    
  2. 在web.xml中配置过滤器

            <filter>
                <filter-name>MyFilter</filter-name>
                <filter-class>Filter.MyFilter</filter-class>
            </filter>
            <filter-mapping>
                <filter-name>MyFilter</filter-name>
    <!--            只要是url :/hello的任何请求都会经过过滤器-->
            <url-pattern>/hello/*</url-pattern>
            </filter-mapping>
    

通过这样的例子,因为filter 所以/hello路径下的没有乱码,其他的中文依旧乱码

Listener

  1. 实现一个监听器的接口:有一堆监听接口什么鼠标事件、键盘事件等等

    public class MyFilter implements HttpSessionListener{
    //    session创建触发
        @Override
        public void sessionCreated(HttpSessionEvent se) {
    
        }
    //    session销毁触发
        @Override
        public void sessionDestroyed(HttpSessionEvent se) {
    
        }
    }
    
  2. 在web.xml中注册:文章来源地址https://www.toymoban.com/news/detail-510966.html

    <listener>
        <listener-class>servlet.MyFirstServlet</listener-class>
    </listener>
    

到了这里,关于JavaBean、MVC、Filter和Listener的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 告别web.xml映射Servlet、Filter、Listener,解锁注解新方式开发

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 服务器软件:apache-tomcat-8.5.27 Servlet、Filter和Listener都支持使用 注解 的方式进行配置: Servlet : 常用的注解是@WebServlet,可以在Servlet类上添加该注解并指定Servlet的url-pattern等属性来配置Servlet。 Filter : 常用的注解是

    2024年02月01日
    浏览(46)
  • 033-安全开发-JavaEE应用&SQL预编译&Filter过滤器&Listener监听器&访问控制

    1、JavaEE-JDBC-SQL预编译 2、JavaEE-HTTP-Filter过滤器 3、JavaEE-对象域-Listen监听器 演示案例: ➢JavaEE-预编译-SQL ➢JavaEE-过滤器-Filter ➢JavaEE-监听器-Listen 提前编译好执行逻辑,你注入的语句不会改变原有逻辑! 预编译写法: safesql 是一个预编译的 SQL 查询语句,其中 ? 是一个占位符

    2024年02月22日
    浏览(47)
  • DAY14_Filter&Listener&Ajax&Axios&Json&fastjson&综合案例-axios和html交互

    Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求 拦截 下来,从而实现一些特殊的功能。 如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等) 而在访问到这些资源之前可以使过滤器拦截来下,也就是说在访问

    2024年02月15日
    浏览(37)
  • Java Web 项目入门指南(http、Servlet、Request、Response、ServletContext、会话技术[cookie、session]、Filter、Listener)

    web 服务器 :可以被浏览器访问到的服务器 常见的 web 服务器: tomcat:中小型的服务器软件,免费开源,支持 JSP 和 Servlet apache 公司的产品 WebLogic:Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 J2EE 规范。WebLogic 是用于开发、集成、部署和管理大型分布式 Web 应用

    2024年02月02日
    浏览(78)
  • 【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException

    idea 2023配置教程。tomcat调试报错Artifact :war exploded: Error during artifact deployment。 修改代码后,启动不生效,仍是旧代码。 根本原因是: Modules output path一定要等于Artifacts output directory加WEB-INFclasses 先来理解一下各概念和他们的关系 Modules是项目,根是项目文件夹 Facets表述了框架

    2024年02月10日
    浏览(44)
  • ASP.NET Core MVC 从入门到精通之Filter

    随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NET Core MVC 系统开发的人员。 经过前几篇文章的讲解,初步

    2024年02月09日
    浏览(70)
  • 结果过滤器—MVC项目中结果过滤器(Result Filter)使用

    结果过滤器( ResultFilter ),是对执行的Action结果进行处理的一种AOP思想,适用于任何需要直接环绕 View 或格式化处理的逻辑。结果过滤器可以 替换或更改 Action 结果 。在 IActionResult 执行的前后执行,使用它能够控制Action的执行结果,比如:格式化结果等。需要注意的是,它只

    2024年02月12日
    浏览(51)
  • asp.net core 一种基于token 和 Permission 的权限管理Filter 过滤器

    asp.net core webapi 下面,想做一个过滤权限的Filter,配合token,对api做一个较为细粒度的权限控制, 该filter (PermissionFilter) 的作用是用户LoginUser.Permissions 列表中有 Key指定的权限才可以访问,没有则返回403 错误码。   1. 先上封装后的使用效果 说明:要求登录即可,不要求特定权限

    2024年02月08日
    浏览(45)
  • TNS listener(s) local listener remote listenrer 11g之前

    How to create an additional TNS listener(s) and load balance connections between those listeners. ie run with multiple TNS listeners. This can assist when a single TNS listener is stressed or overwhelmed with a high connection rate, particularly during peak periods or when a login storm occurs. Increasing the value for QUEUESIZE for TNS listener can also as

    2024年02月11日
    浏览(37)
  • 配置listener tcps加密

    一 配置客户端和服务端的wallet 2端配置方法一致,相互添加证书 orapki wallet create -wallet “/u01/oracle/wallet” -pwd Wdkf984jkkgekj434FKFD -auto_login_local orapki wallet add -wallet “/u01/oracle/wallet” -pwd Wdkf984jkkgekj434FKFD -dn “CN=`hostname`“ -keysize 1024 -self_signed -validity 3650 导出证书 orapki wallet expor

    2024年02月13日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包