Servlet注解之@WebInitParam多个InitParam的使用
作者:人生莫如饥荒 发布时间:2023-08-04 13:43:01
标签:Servlet,@WebInitParam,InitParam
Servlet注解之@WebInitParam多个InitParam使用
百度了半天也没找到。。。。
使用@WebInitParam配置多个InitParam,使某些页面不被拦截。
在过滤器Filter.java下添加注解
@WebFilter(filterName="Filter",urlPatterns="/*", initParams = {
@WebInitParam(name = "noLoginPaths", value = "index.jsp;fail.jsp;/LoginServlet")
})
1. name为InitParameter名字,value为值,之间用特殊符号隔开,这里用逗号。
2. 建立一个私有FilterConfig类的字符串config,并在重写Filter.java的Init()方法里初始化confg=arg0;
3. 使用config.getInitParameter(“noLoginPaths”);获得InitParam的value的字符串。
4. 使用split(“;”)的方法分割字符串,获得所有不需要过滤的文件名称数组。
5. 使用request.getRequestURI().indexOf(strArray[i])!=-1判断是否为这些文件即可。
Servlet3.0注解@WebInitParam和@WebServlet
在以前的servlet中我们初始化一些参数都是配置在web.xml中的,自从servlet3.0之后给我们提供了注解@WebServlet和@WebInitParam,@WebServlet是用来配置servlet的属性的,@WebInitParam是用来配置一些初始化属性的。
@WebServlet和@WebInitParam使用如下
package roseindia.net;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(
name = "WebInitParamExample", urlPatterns = {"/hello"}
,initParams = {
@WebInitParam(name= "Site :", value="http://roseindia.net"),
@WebInitParam(name= "Rose", value= "India"),
}
)
public class WebInitParamExample extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h2>Init Param Servlet Example</h2>");
ServletConfig config= getServletConfig();
String pValue= config.getInitParameter("Site :");
out.println("Param Value : "+pValue);
String pValue1= config.getInitParameter("Rose");
out.println("<br>Param Value : "+pValue1);
out.close();
}
}
如果在web.xml中配置则如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>servletAnnotationExample</display-name>
<servlet>
<servlet-name>WebInitParamExample</servlet-name>
<servlet-class>roseindia.net.WebInitParamExample</servlet-class>
<init-param>
<param-name>Site :</param-name>
<param-value>http://roseindia.net</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>WebInitParamExample</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
来源:https://blog.csdn.net/qq_32953185/article/details/79571018


猜你喜欢
- 事务挂起和事务恢复源码解读在学习spring事务的时候,一定会涉及到一个概念,无法避免的,就是事务挂起和事务恢复对于事务挂起和事务恢复,可以
- 为哪些方法代理?实现自己 * ,首先需要关注的点就是,代理对象需要为哪些方法代理? 原生JDK的 * 的实现是往上抽象出一层接口,让目标
- 本文以spring-boot-maven-plugin 2.5.4为例@Mojo defaultPhase以spring-boot-mave
- 1、SpringMVC中默认集成SpringMVC已经默认集成了JackSon,如下所示: @RequestMapping(&q
- 水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371
- 一、前言让我们先理一下springfox与swagger的关系。swagger是一个流行的API开发框架,这个框架以“开放API声明”(Op
- 模型对象的作用主要是保存数据,可以借助它们将数据带到前端。常用的模型对象有以下几个:ModelAndView(顾名思义,模型和视图,既可以携
- 前言Groovy 是一种基于 JVM 的动态语言,与 Java 语言紧密集成,可以很方便地在 Java 项目中使用。Groovy 有着简洁的
- 背景前段时间同事碰到一个问题,需要在 SpringCloud 的 Feign 调用中使用自定义的 URL;通常情况下是没有这个需求的;毕竟都
- 本文实例讲述了C#实现文件断点续传下载的方法。分享给大家供大家参考。具体实现方法如下:using System;using System.D
- 在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播 * (Broadcast Reciver
- 本文实例讲述了JAVA+Struts2获取服务器地址的方法。分享给大家供大家参考。具体实现方法如下:HttpServletRequest r
- 导读 Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用
- 一、Feign简介Feign是netflix开发的声明式、模板化的http客户端,在使用时就像调用本地(服务消费者自己)的方法一般,帮助我们
- C语言的printf函数,参数的数量可以是可变的。使用 va_start 和 va_end 实现。C++中,实现参数可变,可以用
- 本文实例讲述了C#读写INI文件的方法。分享给大家供大家参考。具体如下:虽然微软早已经建议在WINDOWS中用注册表代替INI文件,但是在实
- 匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: n
- 理解函数式接口以及 Lambda表达式的发展过程任何接口,只包含唯一一个抽象方法,就是函数式接口/** * lambdab表达式的发展 */
- 本文实例讲述了Java正则验证IP的方法。分享给大家供大家参考,具体如下:网上用正则验证IP的表达式有很多,一搜一大堆,可以自己写,但很麻烦
- 本文实例为大家分享了java使用集合实现通讯录的具体代码,供大家参考,具体内容如下代码有些繁琐,只适合初学者。项目1java通讯录方法(声明