框架文件的几个重点说明:
web.xml
1,配置监听,过滤器,servlet listener -> filter -> servlet(加载顺序)
2,配置监听器,过滤器,servlet需要的配置文件(<context-param>可以多个)
3,1中的这几个结合配置文件去初始化相应的配置
4,配置欢迎或错误页面
注意一些配置的先后顺序:
比如单点退出的配置要放在字符编码的后面,否则会出现乱码(字符编码监听应放在最前面)
其他的配置文件
按照dubbo的方式划分的话,跟事物,数据库,缓存有关的配置可以放在服务提供方,控制跳转,视图解析有关的放在消费端(服务端消费端都是web工程)
<mvc:annotation-driven />主要是用来帮助我们处理请求映射,决定是哪个controller的哪个方法来处理当前请求,异常处理。类似有<task:annotation-driven />,<tx:annotation-driven transaction-manager="transactionManager" />,<cache:annotation-driven />
context:component-scan用来扫描该包内被@Repository @Service @Controller的注解类,然后注册到工厂中。并且context:component-scan激活@ required。
@ resource,@ autowired、@PostConstruct @PreDestroy @PersistenceContext @PersistenceUnit。使得在适用该bean的时候用@Autowired就行了。
<!-- 启动包扫描功能,根据下面配置的路径扫描包成为spring的bean http://blog.csdn.net/chunqiuwei/article/details/16115135 -->
<context:component-scan base-package="com.esteel" use-default-filters="false">
<context:include-filter type="regex" expression="com.esteel.*.controller.*" />
<context:include-filter type="regex" expression="com.esteel.*.service.impl.*" />
<context:include-filter type="regex" expression="com.esteel.dao.impl.*" />
<context:include-filter type="regex" expression="com.esteel.*.bean.*" />
<context:include-filter type="regex" expression="com.esteel.filter.*" />
<context:include-filter type="regex" expression="com.esteel.redis.*" />
<context:include-filter type="regex" expression="com.esteel.job.*" />
</context:component-scan>
注多处有context:component-scan用并集
context:property-placeholder .properties文件的占位使用
到此spring的前置功能就基本配置好,剩下的就是集成其他的框架的配置
<task:annotation-driven />定时任务注解扫描开启
<import resource="dubbo-consumer.xml" />引入其他配置文件
<tx:annotation-driven transaction-manager="transactionManager" /> 事物扫面注解开启
<cache:annotation-driven /><!-- 开启缓存注解 -->
即不同作用的注解需要分别开启
shrio的配置:
有直接写在文件中的过滤路径,也有通过动态注入实现过滤路径数据的动态加载
动态注入:
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="filterChainDefinitionMap" ref="chainDefinitionSectionMetaSource" />
</bean>
<bean id="chainDefinitionSectionMetaSource" class="com.esteel.common.ChainDefinitionSectionMetaSource">
<property name="filterChainDefinitions">
<value>
/admin/ = anon
/index/ = anon
/index = anon
/login = anon
/logout = logout
/getRandomValidateCode = anon
/verifyCode = anon
/admin/** = anon
/main**=authc
/ui/info**=authc
/ui/listUser**=authc,perms[admin:manage]
/dwzIndex**=authc,perms[admin:manage]
</value>
</property>
</bean>
直接写在配置文件里面:
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="filterChainDefinitions">
<value>
/information/news/getNewsInfoById==anon
/information/news/getInfoNewsData==anon
/information/news/getTopNewsData==anon
</value>
</property>
</bean>
如果不在xml中引入配置文件也可在java代码中直接用
public class TFSUtil {
static ApplicationContext context = new ClassPathXmlApplicationContext("config_spring/TFS.xml");
private static TfsManager getTfSManager() {
return (TfsManager) context.getBean("tfsManager");
}
private static String getFileExt(String fileName) {
return fileName.substring(fileName.lastIndexOf("."));
}
private static String getFileExt(String fileName) {
return fileName.substring(fileName.lastIndexOf("."));
}
/*存储文件后返回在TFS中存储的文件码*/
public static /*synchronized*/ String saveTfsByteFile(byte[] fileBytes, String fileName) {
TfsManager tfsManager = getTfSManager();
String fileExt = getFileExt(fileName);
String tfsfileName = tfsManager.saveFile(fileBytes, null, fileExt, true);
return tfsfileName;
}
}
jar包,监听,配置文件,应用
jar包,配置文件,应用
相关推荐
文件结构通常分为以下几个部分: - **Header**:包含作业的基本信息,如作业名称、时间步长、求解器设置等。 - **Step**:定义分析的各个步骤,每个步骤可以包含多个加载工况。 - **Material**:定义材料属性,如...
这个“ssh框架练习页面框架”项目,显然是一个针对SSH框架的实践练习,重点在于使用JSP进行前端页面设计,实现客户信息管理系统的增删改查功能。 Struts2是MVC(Model-View-Controller)架构的一部分,主要负责处理...
1. 打开Visual Studio,创建一个新的项目,如果在模板中看到了"ASP.NET MVC 3"选项,说明安装成功。 2. 在命令行中运行`aspnet_regiis.exe -lv`,查看输出的列表中是否有ASP.NET MVC 3的版本信息。 ### 四、进一步...
在这个框架中,重点涉及了以下几个关键知识点: 1. **SQLite数据库的使用** SQLite是Android系统内置的关系型数据库,Afinal提供了一套简洁易用的API来操作SQLite。通过Afinal,你可以方便地进行增删查改等数据库...
但是,依据文件标题和描述,我们可以推测这是一份关于“小学奥数知识框架与重点内容”的资料。小学奥林匹克数学(简称小学奥数)是一门面向小学生的数学竞赛和提高课程。它不仅仅是普通中小学数学教育的延伸,更是...
以下是根据提供的压缩包文件名所推测的几个主要知识点: 1. **efsFrame20**:这可能是一个名为efsFrame的框架的20版。它可能包含了用于构建企业级应用的类库、模板和示例代码。这个框架可能重点在于提高开发效率,...
为了保证测试的准确性与有效性,Mario框架提出了几个校验标准,包括HTTPcode校验、Schema校验、JSONPath校验等。这些校验机制有助于确认测试结果的准确性,并确保测试用例能够精准地反映测试目标。 测试代码的编写...
在设计和实现后台框架模板时,有以下几个关键知识点: 1. **前端框架**:后台框架模板通常基于流行的前端框架,如Bootstrap、Element UI、Ant Design等。这些框架提供了一套完整的CSS样式、JavaScript组件和布局...
触摸事件的分发机制可以分为几个核心方法,如`dispatchTouchEvent`、`onInterceptTouchEvent`以及`onTouchEvent`等,它们共同构成事件处理的完整流程。 其次,View渲染机制关乎Android的UI性能。Android系统要求...
项目目录通常包含以下几个文件: - `__init__.py`:声明这是一个Python包。 - `settings.py`:项目的配置文件。 - `urls.py`:进行URL路由的配置。 - `wsgi.py`:Web服务器和Django交互的入口。 - `manage.py`:项目...
- **设备文件表示**:每个硬件设备都有一个与之对应的特殊设备文件,比如第一个IDE硬盘被表示为`/dev/hda`。 #### 三、字符设备与块设备 在Linux中,根据数据传输特性,设备文件主要分为两大类:字符设备和块设备...
结合以上信息,我们可以预期这篇论文将涵盖以下几个知识点: 1. 医疗服务需求分析:讨论当前医疗服务存在的问题,如等待时间过长、信息不透明、资源分配不均等,以此作为构建集成平台的背景。 2. 平台设计理念:...
这种技术的主要目的是将浏览器窗口分割成几个独立的区域,每个区域可以显示一个独立的HTML页面。 框架集的使用方法是通过在frameset.html文件中使用标签定义框架结构,使用标签为每个框架指定要加载的HTML文档。...
本篇文章将对几个主流的Java Web开发框架进行深入探讨,包括Struts 2、Hibernate、Spring、Spring MVC以及MyBatis,这些都是在培训过程中重点讲解的内容。 首先,Struts 2是一个基于MVC(Model-View-Controller)...
在学习和准备SSH三框架整合项目的考试时,你需要掌握以下几个关键点: 1. Spring的基本概念和IoC/DI原理。 2. AOP的理解及其应用场景。 3. Struts2的工作流程和Action、Interceptor的使用。 4. Hibernate的实体映射...
我们将重点关注以下几个方面: 1. **图片缓存的重要性**:在Android设备上,频繁地从网络加载图片会消耗大量的数据流量,增加用户的等待时间,同时可能对设备电池造成过大的压力。通过使用缓存框架,可以将已加载过...
jQuery.easyui的源码分析可以帮助我们了解以下几个关键点: 1. **组件结构**:每个组件都是一个独立的插件,通过扩展jQuery对象来实现。它们通常包含初始化方法、配置选项、事件处理和公共方法。源码中可以看到如何...
EazyUI的使用通常涉及到以下几个步骤: 1. 引入资源:在HTML文件中引入EazyUI的CSS和JavaScript文件,这将提供UI组件的基本样式和功能。例如: ```html <script src="path/to/jquery.min.js"></script> ...
在这个实验中,我们将重点讨论以下几个知识点: 1. **Flask框架**:Flask是一个轻量级的Python Web应用框架,它基于WSGI工具箱Werkzeug和模板引擎Jinja2。它的核心设计简洁,易于扩展,适合开发小型到中型的Web应用...
在SSH框架中实现分页通常涉及到以下几个步骤: 1. **Struts2配置**:在Struts2的Action类中,我们需要定义一个用于处理分页请求的方法,并在struts.xml配置文件中声明这个方法。这个方法通常接收参数如当前页码、每...