网上搜了下资料,自己也实战了下。分享一下。
传统的web.xml写法不变,如下为相关配置信息:
<servlet>
<servlet-name>myportal</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myportal</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
之所以将url-pattern配置成*.html,一是隐藏技术实现,二是增加搜索引擎的搜索概率。看个人爱好。
关键是对应的myportal-servlet.xml文件中的配置.
<bean id="viewResolver" class="com.myportal.web.core.MultipleViewResolver">
<property name="resolvers">
<map>
<entry key="jsp">
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
</bean>
</entry>
<entry key="vm">
<bean class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="contentType" value="text/html;charset=UTF-8" />
</bean>
</entry>
</map>
</property>
</bean>
然后大家在自己的Controller类里面必须返回如下视图:new ModelAndView("test.jsp");或者new ModelAndView("test.vm");
最后是自己写的ViewResolver,如下:
public class MultipleViewResolver implements ViewResolver
{
private Map<String, ViewResolver> resolvers;
public void setResolvers(Map<String, ViewResolver> resolvers)
{
this.resolvers = resolvers;
}
public View resolveViewName(String viewName, Locale locale) throws Exception {
int n = viewName.lastIndexOf(".");
if(n==(-1)) return null;
// 获得扩展名:
String suffix = viewName.substring(n+1);
// 取出对应的ViewResolver:
ViewResolver resolver = resolvers.get(suffix);
if(resolver!=null)
return resolver.resolveViewName(viewName, locale);
// 没有找到对应的ViewResolver就抛异常:
return null;
}
}
当然,大家可以对自己写的ViewResovler进行功能上的丰富,比如:设定默认的视图解析为jsp,那你的Controller的View就可以偷懒写成new ModelAndView("test")了。基本功能有了,完善慢慢来。
分享到:
相关推荐
总的来说,"java spring视频4"可能涵盖了一系列深度和广度并存的Spring框架主题,帮助观众深入理解Spring的各个方面,并具备使用Spring进行实际项目开发的能力。通过观看这个视频,学习者可以提升自己在Java Spring...
10. **Spring Batch**:针对批量处理和定时任务,Spring Batch提供了完整的解决方案,包括读取、处理和写入大量数据,以及错误处理和重启功能。 "code_Spring5"这个压缩包中的代码示例可能涵盖了以上提到的各个方面...
WebFlux与SpringMVC并存,为开发者提供了更多选择。 6. **Spring Boot**:虽然不是Spring 4.3.8的核心部分,但Spring Boot简化了Spring应用的初始设置和配置。它通过预设默认值,使开发者能快速启动项目,而4.3.8的...
Spring 5.2.6.RELEASE是Spring框架的一个稳定版本,发布于2020年,包含了多个方面的改进和增强。这个版本支持Java 8及以上版本,并且对Java新特性的利用更加充分。其中,Web模块是Spring框架的重要组成部分,它提供...
【Spring3_MVC实战】系列将引导初学者逐步掌握基于注解的Spring3 MVC框架,事务管理和与Hibernate的集成开发。...记住,动手实践是最好的学习方式,不断尝试和解决问题,你会在这个过程中体验到痛苦与成就并存的乐趣。
Struts2和Spring框架在Java Web开发中是广泛使用的,它们提供了强大的MVC(Model-View-Controller)架构支持。Liferay是一个流行的开源企业级门户平台,它允许开发者创建和集成portlet来构建复杂的Web应用程序。在...
此外,它还引入了WebFlux,这是一个全新的响应式Web框架,可以与传统的Spring MVC并存,提供非阻塞的服务器端和客户端编程模型。 Spring框架还包含一个强大的数据访问层,Spring Data项目简化了与数据库的交互。它...
- Spring MVC是Spring框架的一部分,可以替代Struts2作为MVC层,但在这个项目中,两者是并存的,协同工作。 4. **Maven**: - Maven是一个项目管理和综合工具,它管理项目的构建、报告和文档生成,以及依赖关系。...
Spring框架是一个全面的后端开发解决方案,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,使得应用程序的组件化和解耦变得容易。在手机通信录项目中,Spring可以用于管理对象的生命周期和关系,例如处理...
1. **配置文件**:SpringMVC 配置文件通常命名为`springmvc-servlet.xml`,并存放在`WEB-INF`目录下。有两种存放方式: - 直接放在`WEB-INF`下,需在`web.xml`中配置`DispatcherServlet`的`servlet-name`节点。 - ...
6. **丰富的功能**:MySQL提供诸多功能,包括事务支持、索引、触发器、存储过程、视图等,适用于多种应用场景。 7. **广泛应用**:MySQL广泛应用于Web应用、企业级应用、移动应用等领域,是最受欢迎的数据库管理系统...
Spring 框架是Java企业级应用的基石,它提供了一种依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)的解决方案,简化了应用的复杂性。Spring还包含了对数据库访问的支持,...
总结来说,SpringMVC与GraphQL的整合是现代Web开发中的一种创新实践,它结合了SpringMVC的强大后端处理能力和GraphQL的高效数据查询能力,为开发者提供了更灵活、高效的解决方案。在实际项目中,根据需求选择合适的...
Spring MVC是Spring框架的一部分,提供了Web层的解决方案,与Struts2类似,也是基于MVC模式,但更注重解耦和灵活性。 Hibernate是一个流行的ORM(对象关系映射)框架,它允许开发者用Java对象来操作数据库,而无需...
在使用Struts2进行开发时,遵循一定的流程可以帮助我们更好地组织代码和管理项目。以下是基于提供的部分内容详细描述的Struts2开发流程: 1. **引入Struts2的JAR包**: 开发Struts2应用的第一步是将Struts2的库...
Java开发项目基于SSM框架的管理系统是一个典型的Web应用程序开发实例,它涵盖了多个核心知识点,包括Spring、Spring MVC和MyBatis(SSM)这三大主流Java Web开发框架的集成与应用,以及数据库设计和管理。...
Struts 2是Apache软件基金会下的一个开源项目,它继承了Struts 1的优点,并且吸取了其他优秀框架如WebWork的精华,提供了一种更加灵活、高效和功能丰富的Web应用开发解决方案。 Struts 2的核心概念包括Action、...
综上所述,这个基于SpringBoot的固定设备资产管理系统源码全面展示了SpringBoot在企业级应用中的实践,包括数据访问、业务逻辑、Web交互、安全控制等多个方面,对于学习SpringBoot和Java Web开发具有很高的参考价值...
Struts 2作为Struts 1的升级版,引入了更多特性,如OGNL(Object-Graph Navigation Language)表达式语言,使得数据绑定更为方便;过滤器架构让Struts 2可以与其他MVC框架并存;Action与结果类型的概念使得业务逻辑...
然而,线上会议与实体会议室的需求并存,这催生了对高效管理系统的需要。本文将深入探讨基于SSM(Spring、SpringMVC、MyBatis)框架和MySQL数据库的线上会议管理系统的设计与实现。 1. 引言 线上会议管理系统旨在...