Spring的工作原理,控制反转是怎么实现的?自己写过滤器过滤编码怎么实现;Spring的工作原理,控制反转是怎么实现的?自己写过滤器过滤编码怎么实现Spring的工作原理,控制反转是怎么实现的?自己写过滤器过滤编码怎么实现Spring的工作原理,控制反转是怎么实现的?自己写过滤器过滤编码怎么实现
4条回答 默认 最新
404警告 2021-06-24 21:51关注Spring是一种多层的J2EE应用程序框架,其核心就是提供一种新的机制管理业务对象及其依赖关系。它是一种容器框架,用于创建bean,维护bean之间的关系,它可以管理web层,持久层,业务层等
Spring的工作原理: 就是让一个对象的创建不用new就可以自动的生产,在运行时与xml Spring的配置文件来动态的创建对象和调用对象,而不需要通过代码来关联
控制反转: 每次使用spring框架都需要配置xml文件,这个xml配置了bean的id和class。
Spring中默认的bean为单实例模式,通过bean的class引用反射机制可以创建这个实例。
因此,spring框架通过反射代替我们创建好了实例并且替我们维护他们。
A需要引用B类,spring框架就会通过xml把B实例的引用传给了A的成员变量过滤器:
package com.filter; import javax.servlet.*; import java.io.IOException; /** * Servlet Filter implementation class UtfFilter */ public class ConfigFilter implements Filter { // 定义一个获取初始化值的标杆 private static String encoding = null; /** * Default constructor. */ public ConfigFilter() { // TODO Auto-generated constructor stub } /** * @see Filter#destroy() */ public void destroy() { } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (encoding != null) { // 设置请求的编码格式 request.setCharacterEncoding(encoding); // 响应的编码格式 response.setCharacterEncoding(encoding); // 放行 chain.doFilter(request, response); } } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { // 获取初始化变量赋值 encoding = fConfig.getInitParameter("character"); } }web.xml:
<filter> <filter-name>ConfigFilter</filter-name> <filter-class>com.filter.ConfigFilter</filter-class> <init-param> <param-name>character</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>ConfigFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>解决 无用评论 打赏 举报