javawweb三大组件

javaWweb 面试题 本人经过多家公司面试后总结的javaweb开发面试题。差不多七八十道吧。 立即下载

javaweb三大组件

servlet

概念

  1. Server applet:运行在服务器端的小程序
  2. Servlet是一个接口,定义了java类被浏览器访问的规则
  3. 实现servlet,复写方法

配置

web.xml
<!--配置Servlet -->
		    <servlet>
		        <servlet-name>hello_servlet</servlet-name>
		        <servlet-class>cn.web.servlet.Servlet</servlet-class>
		    </servlet>
		
		    <servlet-mapping>
		        <servlet-name>hello_servlet</servlet-name>
		        <url-pattern>/*</url-pattern>
		    </servlet-mapping>
注解
package com.web.servlet;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet("/hello_servlet")
public class ServletDemo implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("servlet");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

filter

概念

  1. 过滤器拦截请求,完成一些特殊功能
  2. eg:登陆验证、统一编码处理、过滤敏感词汇等

配置

web.xml
<?xml version="1.0" encoding="utf-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <filter>
        <filter-name>filter</filter-name>
        <filter-class>cn.web.filter.Filter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>filter</filter-name>
        <url-pattern>/*</url-pattern>
        <!-- 拦截方式 -->
        <dispatcher>REQUEST</dispatcher> 
    </filter-mapping>
</web-app>

注解
package cn.web.filter;

import javax.servlet.*;
import javax.servlet.Filter;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter("/*") // configure the interception path
public class FilterDemo1 implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
        // release
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {
        
    }
}

执行流程

  1. 过滤器
  2. 放行后的资源
  3. 过滤器放行后的代码

listener

监听机制

  1. 事件
  2. 事件源
  3. 监听器
  4. 注册监听

配置

web.xml
<?xml version="1.0" encoding="utf-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

	<!--  Listener  -->
    <listener>
        <listener-class>cn.web.listener.ContextLoaderListener</listener-class>
    </listener>
	<!--  specifying initialization parameters  -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
    </context-param>
</web-app>

注解
package cn.web.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import java.io.FileInputStream;

@WebListener
public class ContextLoaderListener implements ServletContextListener {
    /**
     * 监听ServletContext对象创建的,服务器启动后自动创建ServletContext对象
     * 服务器启动后自动调用该方法
     * @param servletContextEvent
     */
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        // get ServletContext object
        ServletContext servletContext = servletContextEvent.getServletContext();
        // load resource file
        String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");
        // get real path
        String realPath = servletContext.getRealPath(contextConfigLocation);
        // load into memory
        try {
            FileInputStream fis = new FileInputStream(realPath);
            System.out.println("fis:" + fis);
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("ServletContext Initialized...");
    }

    /**
     * 服务器关闭后ServletContext对象被销毁,服务器正常关闭调用该方法
     * @param servletContextEvent
     */
    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        System.out.println("ServletContext Destroyed...");
    }
}

JavaWeb的三大组件详细总结 文章目录一、Servlet(Server Applet)1、Servlet概述:1、ServletConfig API:2、GenericServlet类2、HttpServlet类:(重点掌握)1、doGet和doPost的区别:2、Servlet细节:3、web.xml文件(了解)4、ServletContext(重要):3、网站访问量统计小案例:二、过滤器三、监听器 一、Servlet(Server Applet) Servlet是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 狭义的 立即下载

相关推荐

基于STM32的PID恒温恒湿控制系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了基于双路PID算法的恒温恒湿闭环控制系统,覆盖高精度温湿度采集、双模式控制、参数在线配置、异常安全保护、掉电记忆等全功能,全程采用无跳步保姆式教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 347

【超详解】JavaWeb三大组件讲解

JavaWeb三大组件指的是:Servlet、Filter、Listener,三者提供不同的功能,然而很多人可能只用过其中一个或者两个(Servlet、Filter),很难接触到第三个组件,因此对原始JavaWeb开发还不够熟悉,在这种情况下进行框架学习,这种做法是并不可取,框架是技术大佬们对原始JavaWeb进行封装的结果,没有原始JavaWeb开发基础是很难真正学会框架的。这篇博客就是通过简单的介绍JavaWeb的三大组件来熟悉原始JavaWeb开发。

weixin_62754939的博客 3591

2025年情感分析(SA)综述——论文阅读报告

2025年情感分析(SA)综述——论文阅读报告

Samdy_L的博客 2088

JavaWeb学习

ServletContext是一个接口,它表示Servlet上下文对象。一个Web工程,只有一个ServletContext对象实例。ServletContext对象是一个域对象。ServletContext是在Web工程部署启动的时候创建,在Web工程停止的时候销毁。

qq_43810306的博客 718

伺服驱动器启用后对传感器线信号干扰的解决方案

在一些Arduino项目中,研究者发现,当伺服电机启动时,传感器信号会出现显著噪声。例如,在一个假肢项目中,研究者使用光电隔离器成功隔离了伺服驱动器对EMG传感器的干扰。然而,当启用伺服驱动器时,传感器线信号常常受到干扰,导致系统性能下降。传感器线信号是传感器输出的电信号,用于测量物理量,如温度、光线或位置。例如,在一些案例中,伺服驱动器的开关操作可能导致传感器信号出现尖峰或波动,特别是在模拟传感器上更为明显。描述: 使用光电隔离或其他隔离技术,分离伺服驱动器和传感器的电气路径,防止直接干扰。

有用好玩有趣的“电”知识 1466

F28335 DSP ePWM模块实战:从基础配置到电机控制

本文详细解析了TI TMS320F28335 DSP的ePWM模块,从基础概念、寄存器配置到实战应用。通过代码示例,手把手教你如何配置定时中断、生成PWM波形、实现死区保护与故障联防,并最终完成一个可调速、可换向的直流电机控制项目,是掌握F28335电机控制核心技术的实战指南。

g5h6i的博客 1128

Java Web三大组件

这样我们就可以在服务器启动和关闭的时候执行一些任务,比如服务器启动之后读取SpringFramework的配置文件(applicationContext.xml),创建Spring的核心容器。此接口的实现接收有关更改它们所属的Web应用程序的servlet上下文的通知。日常开发中会用到的ServletContext的事件监听,对应的API就是ServletContextListener。JavaWeb三大组件指的是Servlet、Filter、Listener。二、Listener使用。...

帝上无天的博客 3056

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

qq_45912037的博客 1万+

JavaWeb三大组件【Servlet】【Filter】【Listener】学习笔记

本文主要详细讲解JavaWeb的三大组件:Servlet、Filter、Listener。内容包括三者的基本语法、用法,同时包含一个三者的综合案例,同时案例富有详细的解说

热爱编程、热爱生活、热爱探索 3181

Android息屏后台任务保活实战:从定时器失效到厂商白名单破解

本文深入探讨了Android应用在息屏后定时任务失效的根源,即系统为省电而触发的休眠机制。文章提供了从传统方案失效分析到实战破解的完整路径,核心在于引导用户将应用加入电池优化白名单并开启自启动权限,从而合法绕过限制。同时,结合WorkManager、AlarmManager等可靠定时方案,实现稳定的后台任务执行。

weixin_28475533的博客 424

把群晖NAS变成游戏开发服务器:Perforce与虚幻引擎深度整合的5个关键配置(含.p4ignore模板)

本文详细介绍了如何将群晖NAS配置为游戏开发服务器,重点讲解了Perforce与虚幻引擎的深度整合。通过五个关键配置节点,包括用户权限架构、Workspace策略、资产同步优化、仓库清洁度保障和编辑器深度集成,帮助小型团队打造高效开发环境。文章还提供了实用的.p4ignore模板和优化技巧,显著提升开发效率。

weixin_30430677的博客 319

JavawWeb mvc模型

JavaWeb mvc模型 mvc中m/v/c各是什么呢? M:模型; //数据模型, V:View视图; C:Controller控制器; JAVABean:—; DAO:(Date Access Object):是一个类,获取数据的模式,我要去写一个类去访问数据库,来获取数据库表的信息。 (先写一个接口,然后实现接口) 新建java项目(实例): 新建class名:User 包:edu.hdky.cs.domain public class User { //用户管理,需要两个字段 private

UnityTree的博客 383

高通平台蓝牙学习-- 基于WCN6750 Bluetooth 5.2的讲解

摘要:蓝牙5.2解决方案WCN6750具备多项先进特性:完全兼容5.2标准及ANT+协议,支持2Mbps高速BLE和长距离传输;采用射频集成方案,与WLAN共享天线并支持5G并发;内置功率放大器,支持Class1/2传输;提供双音频流和Slimbus接口优化。其HCI UART接口支持3.2Mbps速率,通过BlueZ协议栈实现蓝牙5.2功能,包括2Mbps模式和长距离传输,符合核心规范要求。(149字)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 3万+

实战-JavaWweb的Servlet和Filter运行关系(三)

    本文继续实践“实战-JavaWweb的Servlet和Filter运行关系(一) ”一文中留下的问题。问题二:在Filter没有执行chain.doFilter(request,response)方法的时候,response对象输出的内容有那些部分组成的。在(文一)的基础上对RequestFilter做了略微改动,改动部分如下:图c-1说明:请求TestServlet,如何没有参数“p”则...

weixin_33972649的博客 113

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

2025东莞工业大风扇控制方式全解析:按键、变频、物联网与集群选型指南

工业大风扇(HVLS)依靠大直径叶片和低转速形成超大覆盖面气流,是大型车间、仓储物流场所改善通风降温的常用设备。其控制方式从简单启停逐步演变为变频调速、远程监控与集群管理,背后涉及电机保护、通讯协议和软件平台等关键技术。变频器解决了软启动与无级调速问题,物联网和群控则让多台风扇的统一管理和数据化运维成为可能。在实际工程中,根据车间面积、设备台数、管理流程与预算选择匹配的控制方案,可显著降低故障率与后期维护成本。围绕东莞工业大风扇厂家主流的各种控制方式,梳理其原理、适用场景和选型要点,为同类项目提供参考。

weixin_34294649的博客 345

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

实战-JavaWweb的Servlet和Filter运行关系(四)

通过三篇实践性文章的说明和总结,理解Servlet和Filter之间的运行关系。 实战-JavaWweb的Servlet和Filter运行关系(一) 实战-JavaWweb的Servlet和Filter运行关系(二) 实战-JavaWweb的Ser...

chuqu7218的博客 118

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【JavaWweb】用户登录案例

案例:用户登录 用户登录案例需求 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,day06数据库中的user表 3.使用JdbcTemplate技术封装JDBC 4.登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎你 5.登录失败跳转到FailServlet展示:登录失败,用户名或密码错误 步骤: 1.创建项目,导入html页面,配置文件,jar包 2.创建数据库

sy140823的博客 392

WEB攻防-JavaWweb项目&JWT身份攻击&组件安全&访问控制

以后,用户与服务端通信的时候,都要发回这个 JSON 对象。为了防止用户篡改数据,服务器在生成这个对象的时候,会加上签名(详见后文)。服务器就不保存任何 session 数据了,也就是说,服务器变成无状态了,从而比较容易实现扩展。JWT 的原理是,服务器认证以后,生成一个 JSON 对象,发回给用户,就像下面这样。3、访问控制&安全组件&越权&三方组件;安全问题-目录遍历&身份认证-JWT攻击。安全问题-访问控制&安全组件-第三方组件。2、目录遍历&身份验证&逻辑&JWT;

2301_78384345的博客 570

javawweb

HTTP协议原理 服务器端Web编程原理 Servlet与Web容器 Java Web应用程序的组成 Tomcat介绍 转载于:https://www.cnblogs.com/hy66668888/p/5908635.html

weixin_30596735的博客 190

【无标题】JAVAWWEB

javaweb, 启动Tomcat报错,

m0_54568435的博客 437

用javawweb进行一个登陆验证

输入用户名与密码信息,提交给validate.jsp进行用户验证,如果验证为合法用户(用户名tom,密码:jenny)则转到(forward动作标记)success.jsp页面,否则转到login.jsp页面重新登录。loginisp、validate.jsp和successjsp。在WebContent右击->new里面点开jsp file。如果不会创建项目请寻找我之前的文章,保证药到病除~重复三次,创建好三个不同的文件。

m0_74757548的博客 196
上一篇: xml入门
下一篇: 软件建模、设计模式、重构
kingzdm
博客等级 码龄9年 6粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值