SpringMVC1

model1:jsp充当页面展示和后端控制器 

model2:jsp负责页面展示,servlet负责后端控制

Spring MVC基于model2实现的框架

一       SpringMVC    demo

1    添加依赖

2    配置web.xml

先通过<url-pattern>找到<servlet>中对应的<servlet-name>,再执行<servlet-class>,<servlet>中的<init-param>为了指定执行的xml文件(不写也是可以的,默认路径是WEB-INF/[servlet-name]-servlet.xml的文件,否则会报错,在上图中就是需要WEB-INF下的dispatcherServlet-servlet.xml的文件)

3    配置SpringMVC的配置文件(有两种)

(1)如果控制类用的是实现Controller接口的话,下图即可,prefix表示前缀,suffix表示后缀,路径需要使用name来标识一个控制器的路径,因为id属性不能有特殊字符"/",根据name属性的路径执行相关的类

(2)注解的情况下

需要在添加命名空间为mvc和context, <mvc:default-servlet-handler />(配置缺省的servlet处理器,静态资源可以直接访问)<context:component-scan base-package="com.qianfeng.controller"/>(上下文组件扫描)<mvc:annotation-driven/>(配置注解驱动,不加会使requestMapping失效)

4    创建Controller包及控制类(两种)

(1)实现Controller接口

返回类型是ModelAndView,下图的对象里可以写一个参数,表示需要跳转页面的地址(因为我在xml使用了默认加入前缀和后缀,所以这里只写了"index"),也可以是三个参数,第一个参数是需要跳转页面的地址,第二和第三个参数可以看成设置request域的参数,前者是名称,后者是要放进域里的数据

(2)注解式

需要在类名上加@Controller(因为Controller已经被标明了他是一个组件,用@Controller也可以将这个类标明为组件),@RequestMapping(拦截范围)可以放在类或方法上,都写上会形成多级路径,getAll方法内参数可以是HttpServletRequestServletRequest,HttpSession和Model类型

错误

 原因:tomcat中有servlet-api包,与添加的servlet-api冲突

解决方法:在servlet-api和依赖中添加<scope>provided</scope>表明该依赖只在编译和测试的时候用,tomcat启动时并不冲突

jsp-api依赖中最好也添加<scope>provided</scope>


servlet里,包的位置写错了(我是多写了一个;)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一 MVC M model 模型(表示应用程序核心) V view 视图(显示数据) C contro...
    清风_皓月阅读 80评论 0 0
  • 16. Web MVC 框架 16.1 Spring Web MVC 框架介绍 Spring Web 模型-视图-...
    此鱼不得水阅读 1,169评论 0 4
  • 对于java中的思考的方向,1必须要看前端的页面,对于前端的页面基本的逻辑,如果能理解最好,不理解也要知道几点。 ...
    神尤鲁道夫阅读 919评论 0 0
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,508评论 0 10
  • IOC 控制反转容器控制程序对象之间的关系,而不是传统实现中,有程序代码之间控制,又名依赖注入。All 类的创建,...
    irckwk1阅读 1,103评论 0 0

友情链接更多精彩内容