上下文配置文件|java中总提到的上下文是什么意思具体指什么

『壹』 spring上下文是什么

Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。

『贰』 如何创建Red5应用程序

一.序言:========================本文档的目的是描述如何在Red5中创建应用程序.需要使用Red5中所给的API.二.应用程序目录:========================在默认的情况下,Red5将所有的应用程序存放在根目录的"Webapps"目录下面.因此在创建一个新的应用程序之前,首先需要在这个目录中创建一个子目录.习惯上这个子目录的名字应该和马上创建的应用程序的名字是一样的.在你的新应用程序中,需要一个"WEB-INF"的文件夹用来存放关于使用类情况的配置文件.你可以使用Red5提供的一个模板,它可以在"doc/templates/myapp"文件夹中找到.在Red5启动的时候,所有文件夹中的配置文件都会搜索到.三.配置:========================这个主要的配置文件是:"Wed.xml".它包含了如下参数:1.globalScope:如下例子"globalScope"为参数名字,"default"为参数对应的默认值.<context-param> <param-name>globalScope</param-name> <param-value>default</param-value></context-param>2.contextConfigLocation设置应用程序中控制文件的名称.这些控制文件列出了应用程序连接或断开客户端的类,同时也提供客户端可以调用的方法的类.控制文件还设定了这些类的有效范围.在这个路进中还可以使用通配符,从而可以包含进来多个文件.:: <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/red5-*.xml</param-value> </context-param>3.locatorFactorySelector指定根应用程序上下文配置文件通常是"red5.xml":: <context-param> <param-name>locatorFactorySelector</param-name> <param-value>red5.xml</param-value> </context-param>4.parentContextKey父上下文的名字,通常是"default.context":: <context-param> <param-name>parentContextKey</param-name> <param-value>default.context</param-value> </context-param>5.log4jConfigLocation指定子log系统的路径. <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param>6.webAppRootKey应用程序唯一的名称:: <context-param> <param-name>webAppRootKey</param-name> <param-value>/myapp</param-value> </context-param>四.配置文件每一个控制配置文件都至少包括如下三种Bean.1.Context这个Context bean有个预留的名字"web.context",它用来将路径放入域中,同时查找服务和控制器.默认的类是"org.red5.server.Context".具体代码如下:<bean id="web.context" class="org.red5.server.Context" autowire="byType" />每个应用程序只能有一个Context.然而这个Context能够夸多个域共享.2.域(Scope)每一个应用程序至少有一个Scope,这个Scope将控制器(Handler)连接到了Context和Server.这个Scopes用来建造一个树结构,客户端能够连接到这个树上的任何一个节点和共享对象(例如共享对象或者实时流).你可以将Scope看作是一个房间或者实例.默认的Scope通常有个名字"web.scope",但是这个名字可以任意的选择.

『叁』 如何配置springmvc+hibernate

首先配置web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!– 上下文配置文件 –> <context-param> <description>spring config</description> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <description>spring listerner</description> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> <init-param> <param-name>sessionFactoryBeanName</param-name> <param-value>sessionFactory</param-value> </init-param> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name> flushMode </param-name> <param-value>AUTO </param-value> </init-param></filter><servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!– 配置过滤器,同时把所有的请求都转为utf-8编码 –> <filter> <filter-name>Spring character encoding filter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>Spring character encoding filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!– 配置找不到页面时返回的页面 –> <error-page> <error-code>404</error-code> <location>/error/404.html</location> </error-page> <!– 配置项目主页 –> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app> 接下来配置springmvc-servlet.xml和applicationContext.xml这两个文件都放在web-inf下面applicationContext.xml配置如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"><!– 连接数据库 –><bean id="mydataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/ucs_tdc"></property> <property name="username" value="root"></property> <property name="password" value="516725"></property> <property name="initialSize" value="2"></property> <property name="maxActive" value="15"></property> </bean><!– Hibernate 设置–><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="mydataSource"></property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>com/ucs/tdc/pojo/AdminInfo.hbm.xml</value> </list> </property> </bean><!– 开启组件自动扫描 –><context:component-scan base-package="com.*"></context:component-scan><!– 开启AOP注解 –><aop:aspectj-autoproxy/><!– 申明事务管理,采用AOP形式切入 –><bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/></bean><tx:advice id="txAdvice" transaction-manager="txManager"> <!– 属性配置 –> <!– 对一下操作进行事务管理 –> <tx:attributes> <tx:method name="*" read-only="true"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="change*" propagation="REQUIRED"/> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="account*" propagation="REQUIRED"/> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="del*" propagation="REQUIRED"/></tx:attributes></tx:advice><!– AOP切入点设置 –><aop:config proxy-target-class="true"> <aop:pointcut expression="within(com.ucs.tdc.*)" id="serviceOperation"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation"/></aop:config> </beans>springmvc-servlet.xml配置如下<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"><!– 开启组件自动扫描 –><context:component-scan base-package="com.ucs.tdc.*"></context:component-scan><!– 开启AOP注解 –><aop:aspectj-autoproxy/><!–Spring mvc –> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" /> <bean class="org.springframework.web.servlet.mvc.annotation."> <property name="messageConverters"> <list > <ref bean="" /> </list> </property> </bean> <bean id="" class="org.springframework.http.converter.json." /> <!– 拦截器 –> <!– <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/jsp/getinfoList.do"/> <mvc:mapping path="/jsp/getinfoList.do"/> <mvc:mapping path="/jsp/getserverinfo.do"/> <mvc:mapping path="/jsp/setServerInfo.do"/> <mvc:mapping path="/jsp/modification.do"/> <mvc:mapping path="/jsp/toAdd.do"/> <mvc:mapping path="/jsp/AddorEditOneInfo.do"/> <mvc:mapping path="/jsp/delete.do"/> <bean class="com.ucs.tdc.interceptor.LoginInterceptor"/> </mvc:interceptor> </mvc:interceptors> –></beans>contoller@Controllerpublic class AdminController { static Logger log = Logger.getLogger(AdminController.class); @Resource private AdminInterFace interFace; public void setInterFace(AdminInterFace interFace) { this.interFace = interFace; } static Gson gson; /***普通用户登录**/ @RequestMapping(value = "jsp/user_Log/login") public boolean user_login(@RequestParam String user_info) { Boolean flag=false; UserInfo info=gson.fromJson(user_info, UserInfo.class); flag =interFace.verifyuser(info); return flag; } /**管理员登录***/ @RequestMapping(value = "jsp/admin_Log/login") public boolean admin_login(@RequestParam String admininfo) { Boolean flag=false; AdminInfo info=gson.fromJson(admininfo, AdminInfo.class); interFace.verifyAdmin(info); return flag; } }接口:public interface AdminInterFace { public Boolean verifyuser(UserInfo info); public void verifyAdmin(AdminInfo info);}实现类: session自动管理,采用事务处理@Repository("AdminImpl")public class AdminImpl extends HibernateDaoSupport implements AdminInterFace{ @Resource public void setMySessionFactory(SessionFactory sf){ super.setSessionFactory(sf); } public boolean verifyAdmin(String adminName,String pw){ String hql="from AdminInfo "; Object[] params={adminName}; List<AdminInfo> list =this.getHibernateTemplate().find(hql); System.out.println(list.size()); AdminInfo info=list.get(0); System.out.println(info.getUserName()+" "+info.getUserPw()); return false; } public Boolean verifyuser(UserInfo info) { // TODO Auto-generated method stub return null; } public void verifyAdmin(AdminInfo info) { // TODO Auto-generated method stub }}项目业务处理和数据处理放置在同一个台服务器上,前

『肆』 程序中好像很多Context,那是什么东东咋一个类一个配置文件也是个上下文,咋觉得都和语文中上下文不一样

电脑屏幕上的图标都没有了!只有一背景按CTRL+ALT+DEL 调出任务管理器--文件--新建任务--regedit--你在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer右面窗口中删除NoViewContextMenu键值,如果有NoDesktop键值,也一并删除,然后注销重启一下。如果并非因NoDesktop键值引起,这时一般可以选择右键点击桌面--右键菜单中“排列图标”/“显示桌面图标

『伍』 ps对图像应用配置文件,ps怎么安装配置文件

使用配置文件,可以控制如何呈现照片中的颜色和色调。配置文件旨在作为图像编辑的起点和基础。

当您在照片上应用配置文件时,不会更改或覆盖其他编辑控件滑块的值。因此,您可以任意编辑照片,然后在编辑图像上应用配置文件。

对图像应用配置文件

浏览和应用配置文件:

在 Camera Raw 对话框的“基本”面板中,单击配置文件下拉列表以快速访问 Adobe Raw 配置文件。要查看其他可用配置文件,请选择“浏览”。

在“配置文件”下拉列表中浏览配置文件。

配置文件浏览器

注意:

导入照片时,在默认情况下,Adobe Color?和?Adobe Monochrome?配置文件分别应用于彩色照片和黑白照片。

展开任意配置文件组(下文介绍)以查看该组中可用的配置文件。

注意:

在“配置文件浏览器”面板中,单击右侧的下拉列表以访问查看选项。您可以选择以“网格”缩略图或“列表”方式查看配置文件。您还可以通过彩色、黑白或全部过滤配置文件。

收藏夹

显示已标记为收藏的配置文件。

Adobe Raw 配置文件

用于 raw 和非 raw 照片的创意配置文件

创意配置文件支持任意文件类型,包括 raw 照片、JPEG 和 TIFF。设计这些配置文件的用意是在照片中创建某种样式或效果。

艺术:如果需要照片呈现的颜色更鲜明,色彩变化更强烈,请使用此类配置文件。

黑白:使用此类配置文件可以得到黑白作品所需的最佳色调变化。

现代:使用此类配置文件可以创作独特的效果,符合现代摄影风格。

复古:使用此类配置文件可以复制复古风格的照片效果。

适用于 raw 照片的配置文件

编辑 raw 照片时,出现以下配置文件组:

Adobe Raw:Adobe Raw 配置文件可以显著改善呈现的色彩并为编辑 raw 图像提供一个良好的起点。Adobe Color 配置文件的设计用意是为任意图像提供优秀的颜色/色调平衡。此配置文件默认应用于导入的 raw 照片。

Camera Matching:基于拍摄 raw 照片的相机制造商/型号显示配置文件。当您希望 raw 文件呈现的色彩与相机显示屏上呈现的效果相符时,请使用 Camera Matching 配置文件。

旧版:显示早期版本的 Adobe Camera Raw 提供的旧版配置文件。

艺术配置文件

注意:

应用艺术、黑白、现代和复古之中的任意一种配置文件时,使用所显示的数量滑块可控制配置文件强度。对于其他配置文件,数量滑块处于暗色/非活动状态。

将指针移至任意配置文件上方可预览照片效果。单击配置文件则可应用于照片。

要返回到基本面板,请单击配置文件浏览器面板右上角的关闭。

将配置文件添加到收藏夹

要将配置文件添加到收藏夹,请执行以下操作之一:

在网格视图中浏览配置文件时,请将光标悬停在配置文件缩略图上,然后单击缩略图右上角出现的星型图标。 在列表视图中浏览配置文件时,请单击配置文件名称前出现的星型图标。

注意:

将配置文件添加到收藏夹时,Camera Raw 对话框基本选项卡中的配置文件弹出菜单也会随之更新。从收藏夹中删除配置文件时,此配置文件弹出菜单会呈现相应变化。因此,您可以轻松自定义基本弹出菜单的收藏配置文件或常用配置文件,以方便访问。

安装配置文件 手动安装配置文件

更新到 Camera Raw 10.3 之后,计算机上的现有 DCP 配置文件自动转换为 XMP 格式。如需在首次启动后添加?DCP?配置文件,请将配置文件手动复制到以下位置:

Win :?C: Mac : /Library/Application Support/Adobe/CameraRaw/CameraProfiles

要手动添加 XMP 配置文件,请将配置文件复制到以下位置:

Win :C: Mac :/Library/Application Support/Adobe/CameraRaw/Settings

导入配置文件和预设

您可以通过导入配置文件和预设对话框,以 zip 文件的形式导入 DCP 和 XMP 配置文件以及预设。欲访问该对话框,请按照以下步骤操作:

在 Camera Raw 对话框的基本面板中,单击配置文件下拉列表。

选择浏览。

在配置文件浏览器面板中,右键单击( 在 Windows 中 )或按住 Command 并单击( 在 Mac 中 )配置文件组区域的任意位置,然后从上下文菜单中,选择导入配置文件和预设。

或者,右键单击( 在 Windows 中 )或按住 Command 并单击( 在 Mac 中 )预设面板,然后选择导入配置文件和预设。

在导入配置文件和预设对话框中,浏览计算机以选择所需的配置文件或预设,然后单击打开以导入配置文件或预设。

导入的配置文件可在配置文件浏览器面板中访问。

注意:

导入配置文件和预设对话框只允许导入 zip 文件。要导入单个配置文件和预设,您可以在正确的位置进行手动安装。

『陆』 java中总提到的上下文是什么意思,具体指什么

所谓上下文,它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息上下文中,于是在我们使用这个数据源的时候,就需要先获得系统的上下文,然后再通过一定的方式将数据源取出来。至于在系统启动时,是如何将这些初始化信息加载到上下文中,而上下文在程序中具体又是以什么形式体现的,应该随着系统的不同而不同。上下文即ServletContext,是一个全局的储存信息的空间,服务器启动,其就存在,服务器关闭,其才释放。所有用户共用一个ServletContext。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。如,做一个购物类的网站,要从数据库中提取物品信息,如果用session保存这些物品信息,每个用户都访问一便数据库,效率就太低了;所以要用来Servlet上下文来保存,在服务器开始时,就访问数据库,将物品信息存入Servlet上下文中,这样,每个用户只用从上下文中读入物品信息就行了。获取ServletContext的方法: HttpSession session = request.getSession(); session.getServletContext();

『柒』 使用beannameurlhandlermapping处理器映射器怎么访问一个controller中的多个方法

1. 请求首先 由 前端 DispatcherServlet 捕获; 2. DispatcherServlet 经过 HandlerMapping 获取适当的 Hanlder ,也即 Controller ,并返回给 DispatcherServlet; 3. 如果有设置 拦截器,首选执行拦截器的 preHandler 方法,并把执行结果返回 DispatcherServlet; 4. DispatcherServlet 根据捕获的请求,以及 Handler (Controller) ,获取到适当的 HandlerAdapter 处理,并把结果返回给 DispatcherServlet,结果为 (View 和 Model); 5. 如果有设置拦截器,就是执行 拦截器的 postHandler 方法,并返回 DispatcherServlet; 6. DispatcherServlet 根据获取的 view 跟 model 结合 ViewResolver,返回所指的 视图模板,并返回给 DispatcherServlet; 7. DispatcherServlet 结合 视图模型跟model ,执行 render() 渲染界面,并返回给客户端;一个DispatcherServlet 都有自己 上下文配置文件, 这个配置继承自根的上下文配置文件; 每个 DispatcherServlet 都可配置多个不同的 HandlerMapping 映射方式;每个 HandlerMapping 都实现了 Ordered 接口,可以上下文文件配置中设置优先使用的 HandlerMapping; 用户的请求被 DispatcherServlet 捕获后,DispatcherServlet 使用优先级高的 HandlerMapping 查找可用的 Handler,如果没有找到合适的 Handler,就使优先级次之的 HandlerMapping 继续查找,直到找到为止; 比如:Spring MVC 提供主要的 HanderMapping 有 , SimpleUrlHandlerMapping, BeanNameUrlHandlerMapping 复制代码<bean id="defaultAnnoHandlerMapping" class="org.springframework.web.servlet.mvc.annotation."> <property name="order" value="1"/></bean> <bean id="simpleUrlMapping" class="org.springframework.Web.servlet.handler.SimpleUrlHandlerMapping"> <property name="order" value="2"/> <!– … –></bean> <bean id="beanNameUrlMapping" class="org.springframework.Web.servlet.handler.BeanNameUrlHandlerMapping"> <!– … –></bean>复制代码如果不为HandlerMapping明确指定order,那么默认值为Integer.MAX_VALUE,对应最低优先级。 如果 找到相应的 Handler ,就把数据传给相应的 Controller 类下的相应的 HandlerAdapter (方法处)处理;如果没有找到,就到 SimpleUrlHandlerMapping 处理;Spring MVC xml配置说明 1. Web.xml 配置 1>. 首先 Spring 监听器: <!– Creates the Spring Container shared by all Servlets and Filters –> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>它是整个 spring 框架的入口,会自动装载 应用程序根上下文的 配置文件;因为他实现了 ServletContextListener 这个接口,项目启动时,就会执行它实现的方法。 2>. 根应用程序上下文配置: <!– The definition of the Root Spring Container shared by all Servlets and Filters –> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/root-context.xml</param-value> </context-param>也可叫 spring 全局配置,在这里可以配置 数据源 等一些 全局的spring 基本的配置;dispatcherServlet 可以继承自这里的配置; 3>. diapatcherServlet 配置: 复制代码<!– Processes application requests –> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>复制代码load-on-startup 值为 "1" 表示该 servlet (dispatcherServlet 也是一个 servlet) 随 servlet 容器同时启动。 dispatcherservlet 的 init-param 节点不是必须的,如果没有配置,该 dispatcherServlet 对应的 上下文配置文件 就会到 /WEB-INF/[servlet-name]-servlet.xml 加载; servlet-mapping 的 url-pattern 的值 "*.do" 表示,servlet 只会拦截 .do 后缀的请求,这种配置不会影响静态资源的访问。 4>. 配置工程项目编码: 复制代码<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>复制代码该过滤器如果没有配置,请求访问可能会遇乱码; ————————————————————- 现在配置 diapatcherServlet 对应的 上下文配置文件: /WEB-INF/spring/appServlet/servlet-context.xml (上面配置的) 1>. 启动扫描所有的 Controller <context:component-scan base-package="com.study.web"/>主要作用于 @Controller,假如他的包结构是这样的: com.study.web |—controller |—–|—–abcController.java |—–cdeController.java 那么上面的 base-package 写为 com.study.web.controller 也是正确的;2>. <mvc:annotation-driven /> 说明: 是一种简写形式,可以让初学者快速成应用默认的配置方案,会默认注册 以及AnnotionMethodHandleAdapter 这两个 Bean, 这两个 Bean ,前者对应类级别, 后者对应到方法级别; 上在面的 和 是 Spring 为 @Controller 分发请求所必需的。 annotation-driven 扫描指定包中类上的注解,常用的注解有: 复制代码@Controller 声明Action组件@Service 声明Service组件 @Service("myMovieLister")@Repository 声明Dao组件@Component 泛指组件, 当不好归类时.@RequestMapping("/menu") 请求映射@Resource 用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName")@Autowired 用于注入,(srping提供的) 默认按类型装配@Transactional( rollbackFor={Exception.class}) 事务管理@ResponseBody@Scope("prototype") 设定bean的作用域复制代码3>. 视图解析类,对模型视图名称的解析,在请求时模型视图名称添加前后缀 <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean>InternalResourceViewResolver 提供了对 JstlView 的支持: <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> Spring Mvc 2.5 版本以前,提供了 注解 功能,实现了对 REST 的全面支持; REST 通过不带扩展名的 URL 来访问系统资源;REST 会把每个请求资源当成是静态,每个 URL 资源都是一个静态资源; 它通 @RequestMapping主@PathVariable 注释提供访问映射,由@RequestMapping 中的 value 及 method 就可以支持Rest式的访问。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 比如 使用的是 Velocity 技术,那么只要把 suffix 的 value 值改为 ".vm" 即可;

『捌』 初识Nginx配置文件以及基本命令

配置文件名为 nginx.conf ,Linux放在目录: /usr/local/nginx/conf 、 /etc/nginx , 或 /usr/local/etc/nginx 中;Windows放在 安装目录conf 中。 依据实际安装情况决定

nginx由配置文件中指定的指令控制模块组成。 指令分为 简单指令 和 块指令 : 简单指令 由空格分隔的名称和参数组成,并以分号 ; 结尾; 块指令 具有与简单指令相同的结构,但是是以大括号 { 和 } 包围的一组附加指令。 如果块指令在大括号内部有其他指令,则称为上下文(例如: events , http , server 和 location ); 配置文件中放置在任何上下文之外的伪指令都被认为是主上下文。 events 和 http 指令驻留在主上下文中, server 在 http 中的,而 location 在 server 块中。一个配置文件一个 http ,一个及以上个 server ,一个 server 运行一个工作进程并代表一个虚拟服务器; # 号所在的一行被视为注释; 几个顶级指令将适用于不同流量类型的指令组合在一起:

对于大多数指令,在子上下文中定义的上下文将继承父级中包含的伪指令的值,要覆盖从父进程继承的值,子上下文中需要包含该指令(即子上下文要显式声明)。

打开配置文件(如 /usr/local/nginx/conf/nginx.conf ),默认的配置文件已经包含了服务器块的几个示例,大部分是注释掉的。 现在注释掉所有这样的块,并启动一个新的服务器块:

每个 server 上下文都可以指定要监听的端口、server_name,当nginx决定哪个服务器处理请求后,它会根据服务器块内部定义的location指令的参数测试请求头中指定的URI, 比如如下配置,系统中创建 /data 目录及其子目录 /www :

第一个 location 块指定与请求中的URI比较 / 前缀。 对于匹配请求,URI将被添加到 root 指令中指定的路径(即 /data/www ),形成本地文件系统中的请求文件路径。 如果有几个匹配的location块,nginx将选择具有最长前缀来匹配location块。 上面第一个 location 块提供最短的前缀长度为1,因此只有当所有其他location块不能提供匹配时,才会使用该块。第二个 location ,将是以 /images/ 的请求来匹配,位置 / 也匹配这样的请求,但具有较短前缀,也就是 /images/ 比 / 长。

这已经是一个在标准端口 80 上侦听并且可以在本地机器上访问的服务器 http://localhost/ 的工作配置, 端口 80 和 server_name localhost 可以省略,它们为默认值 。 响应以/images/开头的URI的请求,服务器将从 /data/images 目录发送文件。 例如,响应 http://localhost/images/logo.png 请求,nginx将发送服务上的 /data/images/logo.png 文件。 如果文件不存在,nginx将发送一个指示 404 错误的响应。 不以 /images/ 开头的URI的请求将映射到 /data/www 目录。 例如,响应 http://localhost/about/example.html 请求时,nginx将发送 /data/www/about/example.html 文件。

反向代理应该是Nginx做的最多的一件事了,反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。 通过向nginx配置文件添加一个server块来定义代理服务器,其中包含以下内容:

这将是一个监听端口 8080 的简单服务器,并将所有请求映射到本地文件系统上的 /data/up1 目录。 请注意,root指令位于server块上下文中,当选择用于服务请求的 location 块不包含自己的 root 指令时,将使用此root指令。创建 /data/up1 目录然后可以将一个静态网页比如 index.html 文件放入其中,然后访问 http://localhost:8080/ 即可访问该文件。 目前为止,还是配置的静态资源访问,并不是代理服务器,然后增加或修改现有 location 上下文,改为如下:

当用户访问 http://localhost:8080/ 时,会返回 http://localhost:8181 服务器的的资源。 location 上下文后面的参数,可以是正则表达式,如果是正则表达式,前面要加 ~ ,比如:

以上配置表示,nginx接收到所有以.gif,.jpg或.png结尾的URI,相应的请求将映射到/data/images目录。当nginx选择一个location块来提供请求时,它首先检查指定前缀的location指令,记住具有最长前缀的location,然后检查正则表达式。 如果与正则表达式匹配,nginx会选择此location,否则选择之前记住的那一个。

要找到最符合URI的位置,NGINX首先将URI与前缀字符串的位置进行比较。然后用正则表达式搜索位置。除非使用^~修饰符对正则表达式给予更高的优先级。在前缀字符串中,NGINX选择最具体的字符串(也就是最长和最完整的字符串)。 下面给出了选择处理请求的位置的确切逻辑:

测试所有URI的前缀字符串。 = (等号)修饰符定义了URI和前缀字符串完全匹配。如果找到完全匹配,则搜索停止。如果 ^~ (插入符号)修饰符预先添加最长匹配前缀字符串,则不会检查正则表达式。存储最长匹配的前缀字符串。根据正则表达式测试URI。断开第一个匹配的正则表达式并使用相应的位置。如果没有正则表达式匹配,则使用与存储的前缀字符串相对应的位置。

= 修饰符的典型用例是 / (正斜杠)的请求。 如果请求/是频繁的,则指定 = / 作为location指令的参数加速处理,因为搜索匹配在第一次比较之后停止。

要启动nginx,请运行可执行文件。 当nginx启动后,可以通过使用-s参数调用可执行文件来控制它。 使用以下语法:

信号(signal)的值可能是以下之一:

当主进程收到要重新加载配置的信号,它将检查新配置文件的语法有效性,并尝试应用其中提供的配置。 如果这是成功的,主进程将启动新的工作进程,并向旧的工作进程发送消息,请求它们关闭。 否则,主进程回滚更改,并继续使用旧配置。 老工作进程,接收关闭命令,停止接受新连接,并继续维护当前请求,直到所有这些请求得到维护。 之后,旧的工作进程退出。

两者在 location 中,指定一个路径,其中使用 alias 做如下配置:

若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件

若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。alias是一个目录别名的定义,root则是最上层目录的定义,指的是 /var/www/image/img/ 。还有一个重要的区别是alias后面必须要 / 结束,否则会找不到文件,而root则可有可无。

另外对于index,含义如下

这样,当用户请求 / 地址时,Nginx 就会自动在 root 配置指令指定的文件系统目录下依次寻找 index.htm 和 index.html 这两个文件。如果 index.htm 文件存在,则直接发起“内部跳转”到 /index.htm 这个新的地址;而如果 index.htm 文件不存在,则继续检查 index.html 是否存在。如果存在,同样发起“内部跳转”到 /index.html ;如果 index.html 文件仍然不存在,则放弃处理权给 content 阶段的下一个模块。

参考地址1 参考地址2:B站

『玖』 在spring和junit整合中出现java.lang.NoClassDefFoundError: javax/servlet/ServletContext错误

我印象里好像也出现过,我把我的配置方式给你说一下,你看能不能跑起来。

如果你是springMVC可以采用下面说的,springboot另说,更简单。

首先这几个jar得有:junit-4.12.jar、hamcrest-core-1.3.jar和spring-test-4.3.6.RELEASE.jar。

其次你看下我的Test类:

所以我填的是classpath:web/WEB-INF/applicationContext.xml


赞 (0)