精华内容
下载资源
问答
  • 因为在网上搜寻半天发现没有关于@WebFilter注解如何设置多个参数的方法,参考其他博主的文章和自己的实践,写下此笔记,供大家参考 Servlet3.0提供@WebFilter注解将一个实现了javax.servlet.Filter接口的类定义为...

    因为在网上搜寻半天发现没有关于@WebFilter注解如何设置多个参数的方法,参考其他博主的文章和自己的实践,写下此笔记,供大家参考

    Servlet3.0提供@WebFilter注解将一个实现了javax.servlet.Filter接口的类定义为过滤器,这样就可以不用再web.xml下配置了。
    Servlet:

    属性和2.0的对比

    filterName:即以前web.xml中的filter-name。
    urlPatterns:访问路径,即web.xml中的filter-mapping->url-pattern
    initParams :初始化参数,等价于web.xml的init-param节点。name=>param-name>,value=>param-value

    下面我们来创建一个过滤器(前提是创建项目的时候选择的是3.0的Servlet),在Class name中填过滤器的名字。
    在这里插入图片描述

    创建Filter
    填好点下一步,可以添加Servlet和url的过滤。
    在这里插入图片描述
    这里可以选择过滤方式,如果想增加多个,就在add一下就可以
    在这里插入图片描述在这里插入图片描述
    打开后是这样排列的,多个参数用逗号隔开
    在这里插入图片描述

    可以看到,使用@WebFilter注解,我们可以将一个实现了javax.servlet.Filte接口的类定义为过滤器,用urlPatterns属性或者value属性指定要过滤的URL模式。

    可以指定多种过滤模式@WebFilter(filterName=“Servlet3Filter”,urlPatterns={"/UserManagerServlet","/index.jsp"})

    有了@WebFilter注解之后,我们的web.xml就无需任何配置了,这样我们的web.xml文件就非常干净了。可以说,Servlet3.0规范的出现,大大减少了开发Servlet和Filter配置方面的工作量。

    参考:
    https://www.cnblogs.com/xdp-gacl/p/4224837.html
    https://blog.csdn.net/weixin_34205076/article/details/92033542

    展开全文
  • 在Servlet,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,如果注解@WebServlet("/category"),则表示该Servlet默认的请求路径为…/category,这里省略了urlPatterns属性名,完整的写法应该...

    9、Servlet中@WebServlet属性详解

    在Servlet中,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,如果注解@WebServlet("/category"),则表示该Servlet默认的请求路径为…/category,这里省略了urlPatterns属性名,完整的写法应该是:@WebServlet(urlPatterns = “/category”),如果在@WebServlet中需要设置多个属性,必须给属性值加上属性名称,中间用逗号隔开,否则会报错.

    来源https://blog.csdn.net/weixin_45493751/article/details/100559683

    展开全文
  • Servlet基本功能实现

    2020-09-24 16:28:15
    1、Servlet 1.1、快速入门 创建项目,创建一个类实现Servlet接口,共有五个方法,可以在service方法打印文字 配置Servlet ...服务器受到浏览器请求...@webservlet注解 可以定义多个路径,数组形式 2、Resquest

    1、Servlet

    1.1、快速入门

    • 创建项目,创建一个类实现Servlet接口,共有五个方法,可以在service方法中打印文字

    • 配置Servlet

    • image-20200919184006633

    • 执行原理:

      • 服务器受到浏览器请求之后,解析url路径,获得Servlet资源路径
      • 查找web.xml文件中的
      • 找到对应的全类名,tomcat按照类名创建对象
      • 调用方法
    • 生命周期

      • 已略
    • 3.0版本以上的支持,版本号就是创建web项目的版本

    • @webservlet注解 可以定义多个路径,数组形式

    2、Resquest

    2.1、什么是request

    • 它来自servlet的五个方法之一的service方法的参数,tomcat会自动创建出request对象和response对象

    2.2、sertvlet继承体系

    image-20200919190959332

    学习servlet之前应该了解下请求头的知识

    image-20200919191314835

    2.3、Resquest的功能

    request可以用来获取请求行的各种参数,知道方法即可,这些方法要写在servlet的doget方法中

    image-20200919191926401

    2.4、URL URI的区别

    image-20200919192338097

    2.5、Request的转发

    image-20200920104157325

    2.6、共享数据

    域对象,一个有作用范围的对象

    Request域: 方法使用 request.setAttribute(String string, Oject obj)

    • setAttribute 存储数据,例如通过键值对保存,存的数据可以在这里自己创建
    • getAttribute获取数据
    • removeAttribute移除数据

    2.7、ServletContext

    方法使用 request.getServletContext()

    展开全文
  • day35(servlet 3.0)

    2017-10-22 12:46:00
    servlet3.0的问题 Servlet3.0与Servlet2.5提供了三新特性: * 注解开发 :方便 * 文件上传 :有些API不是特别全. ...* 异步请求 :线程的实现 ... Servlet @WebServlet("访问路径")  Fi...

    servlet3.0的问题

    • Servlet3.0与Servlet2.5提供了三个新特性:

    * 注解开发   :方便

    * 文件上传   :有些API不是特别全.

    * 异步请求   :多线程的实现

     

    注解开发: 

    注解的开发是的整个开发过程中不需要web.xml配置文件。

       web层 

        Servlet  @WebServlet("访问路径")

        Filter     @WebFilter("访问路径")

        Listener @WebListener("访问路径")

          service层

        @WebService

     

    文件上传:

        这个上传过程是特别繁琐的,其中获取文件名字需要从发送过来的头部进行String的方法进行截取。使得整个过程繁琐;对于流的对接也不是特别友好。

    使用fileUpload工具包来开发有特定的文件项的流的对接。整个开发过程大大节约了时间。

    代码:
    @WebServlet("/UploadServlet")
    @MultipartConfig//表示文件上传注解
    public class UploadServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// 接收普通数据:
    		request.setCharacterEncoding("UTF-8");
    		String filedesc = request.getParameter("filedesc");
    		System.out.println("文件描述"+filedesc);
    		// 接收文件:
    		Part part = request.getPart("upload");
    		
    		long size = part.getSize();// 获得文件大小:
    		System.out.println("文件大小:"+size);
    		String name = part.getName();
    		System.out.println("文件表单中的name属性的名称"+name);
    		// 获得文件名:
    		String header = part.getHeader("Content-Disposition");
    		int idx = header.lastIndexOf("filename=\"");
    		String fileName = header.substring(idx+10, header.length()-1);
    		System.out.println("文件名:"+fileName);
    		// 获得文件内容:
    		InputStream is = part.getInputStream();
    		// 获得upload的路径:
    		String path = this.getServletContext().getRealPath("/upload");
    		OutputStream os = new FileOutputStream(path+"/"+fileName);
    		byte[] b = new byte[1024];
    		int len = 0;
    		while((len = is.read(b))!=-1){
    			os.write(b, 0, len);
    		}
    		is.close();
    		os.close();
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    

      异步:异步的实现其实是一个多线程。

    /**
     * 异步请求的Servlet
     */
    @WebServlet(urlPatterns="/AsyncServlet",asyncSupported=true)
    public class AsyncServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		AsyncContext context = request.startAsync(request, response);
    		context.start(new MyRunnable(context));
    		
    		for(int i = 1;i<=10;i++){
    			System.out.println(i);
    			try {
    				Thread.sleep(500);
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    
    class MyRunnable implements Runnable{
    	private AsyncContext context;
    	public MyRunnable(AsyncContext context) {
    		this.context = context;
    	}
    	@Override
    	public void run() {
    		for(char i='a';i<='z';i++){
    			try {
    				context.getResponse().getWriter().println(i);
    				Thread.sleep(100);
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    }
    

      

    转载于:https://www.cnblogs.com/fjkgrbk/p/servlet3_0.html

    展开全文
  • 我使用switchAction来处理模块请求, 想使用spring的注解来管理action, 在spring的配置文件管理action是可以的,但是使用注解的则不行,不能创建action, 不知道是不是我的配置有问题,或者是有些什么其他的...
  • // 这个路径相对当前应用的目录 String uploadPath = request.getServletContext().getRealPath("./") + File.separator + UPLOAD_DIRECTORY; // 如果目录不存在则创建 File uploadDir &#...
  • 1.6.1 监听器(Listener)顺序 ...............................................................................................................14 1.6.2 注解处理 ...............................................
  • SSO-WebDemo

    2013-08-12 20:25:57
    一个Web应用由很多个Web页面组成,每个页面都有唯一的URL来定义。用户在浏览器的地址栏输入页面的URL,浏览器就会向Web Server去发送请求。如下图,浏览器向Web服务器发送了两个请求,申请了两个页面。这两个页面的...
  • //3、@RequiresRoles(value = {"超级管理员","系统管理"},logical = Logical.OR) 验证是拥有某角色,多个用‘,’隔开,参数2定义用and或者or连接条件 默认是and //@RequiresGuest @RequiresPermissions(value =...
  • Servlet: 概念:服务器的java小程序 生命周期 从开始到死亡 init () -> getServletConfig () -> service () ->...一个Servlet可以定义多个访问路径 : @WebServlet({"/d4","/dd4","/...
  • ssm框架整合activiti流程,在控制器使用注入有关activities的一些Service如:RepositoryService、ProcessEngine、TaskService、RuntimeService、HistoryService,运行web项目后报错,后面网上借鉴了一些activitie...
  • DispatcherServlet接受一个web请求之后,将请求发送...Spring MVCweb请求通过控制器类声明的一个或者多个@RequestMapping注解映射到处理程序。 处理程序映射根据与上下文路径Web应用上下文路径)和servlet...
  • Spring中文帮助文档

    热门讨论 2013-08-05 14:40:17
    4.7.2. Application context构造器资源路径的通配符 4.7.3. FileSystemResource 说明 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到...
  • url-pattern模式匹配微信公众号平台服务器配置的URL配置,如果需要处理多个微信公众号,可以配置多个servlet-mapping或者使用路径通配符匹配多个url链接。 3、spring配置文件 spring配置文件applicationContext.xml...
  • -- 是否允许单条sql 返回多个数据集 (取决于驱动的兼容性) default:true --> <!-- 是否可以使用列的别名 (取决于驱动的兼容性) default:true--> <!--允许JDBC 生成主键。需要驱动器支持。如果...
  • web项目设置在Servlet的context parameter 事件Application Event 自定义事件,集成ApplicationEvent 定义事件监听器,实现ApplicationListener 使用容器发布事件 Spring高级话题 Spring Aware ...
  • Spring.html

    2020-03-23 22:21:58
    ClassPathXmlApplicationContext:使用这工厂创建对象,他会根据scope智能判断是否懒加载,如果是单例则创建容器时就会创建里面bean的实例,如果是例在获取使用时才会创建bean实例 ...
  • (* org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(..))" /> <aop:around method="logAll" pointcut-ref="logPointCut" /> </aop:aspect> ...
  • cms后台管理

    热门讨论 2012-06-26 10:41:19
    允许多个文章ID,用","分开。排斥其他所有筛选参数。 */ public static final String PARAM_IDS = "ids"; @SuppressWarnings("unchecked") public void execute(Environment env, Map params, TemplateModel[]...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • Java资源包01

    2016-08-31 09:16:25
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包101

    2016-07-13 10:11:08
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包8

    热门讨论 2013-06-28 09:55:26
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包9

    热门讨论 2013-06-28 09:58:55
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...
  • java开源包7

    热门讨论 2013-06-28 09:52:16
    JCarder 是一用来查找线程应用程序一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一使用了 JavaSWF2 的 Flash 解析器和生成器。...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

webservlet注解中多个路径