发表于: 2016-08-28 09:00:37
1 2219
今天完成的事情:
重构task4的代码
补java基础
明天计划的事情:
看spring RMI
撸艾燕窝项目,写艾燕窝接口
遇到的问题:
暂无
收获:
项目和成功访问和webapps文件夹名字、位置无关。
只要你在web deployment assembly(tomcat发布文件的目录)里设置发布目录webapps就行。
${pageContext.request.contextPath}的作用
${pageContext.request.contextPath}等价于<%=request.getContextPath()%>或者可以说是
<%=request.getContextPath()%>的EL版,意思就是取出部署的应用程序名或者是当前的项目名称。
比如我的项目名称是ajax01 在浏览器中输入为
http://localhost:8080/ajax01/login.jsp ${pageContext.request.contextPath}
或
<%=request.getContextPath()%>
取出来的就是/ajax01,而"/"代表的含义就是http://localhost:8080
所以我们项目中应该这样写${pageContext.request.contextPath}/login.jsp
了解了下Spring中的事务管理
事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。
例如:多条sql语句的一次性提交。
JDBC事务控制管理 http://blog.csdn.net/caomiao2006/article/details/22412755
Web.xml,Dispatcher-Servlet及ApplicationContext
Web.xml 主要用于配置DispatcherServlet拦截器(主要为了是获取Dispatcher-Servlet.xml)、
ContextLoaderListener监听器(主要是为了获取ApplicationContext.xml)
Web.xml一般配置如下
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
ApplicationContext
在web容器启动时,会触发容器初始化事件,由contextLoaderListener监听器监听。
初始化会使用根上下文(ApplicationContext)。路径由web.xml中的context-param标签指定。
初始化完毕后,spring以WebApplicationContext.ROOT WEB APPLICATION CONTEXT ATTRIBUTE为
属性Key,将其存储到ServletContext中,便于获取。(生成用于整个web程序的组件即生成一些
全局bean)
Dispatcher-Servlet
监听器初始化结束后,开始初始化servlet的配置,servlet可以配置多个。DispatcherServlet是一个
标准的前端控制器,DispatcherServlet上下文在初始化的时候会建立自己的IoC上下文,用以持有
spring mvc相关的bean。在建立DispatcherServlet自己的IoC上下文时会利用ApplicationContext
作为自己上下文的parent上下文(即先继承ApplicationContext上下文,然后在初始化自己独有的上
下文)。也存于ServletContext中。
ContextLoaderListener中创建ApplicationContext主要用于整个Web应用程序需要共享的一些组件,
比如DAO,数据库的ConnectionFactory等。
DispatcherServlet创建的ApplicationContext主要用于和该Servlet相关的一些组件,
比如Controller、ViewResovler等。
在DispatcherServlet中可以引用由ContextLoaderListener所创建的ApplicationContext。
java多个servlet配置
<web-app>
<listener>
<listener-class>com.insenz.video.MyListener</listener-class>
</listener>
<servlet>
<servlet-name>search</servlet-name>
<servlet-class>com.insenz.video.InsenzSearch</servlet-class>
</servlet>
<servlet>
<servlet-name>hongfu</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>search</servlet-name>
<url-pattern>/search</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hongfu</servlet-name>
<url-pattern>/rao</url-pattern>
</servlet-mapping>
</web-app>
评论