springMVC入门截图
mvc在bs系统下的应用




----------------------------------------------------
在web.xml中配置前端控制器(系统提供的一个servlet类 只需配置即可 无需程序员开发 )

--------------------------------------------------------------

------------------------
非注解适配器

使用A适配器能够执行实现Controller接口的handler
package org.ssm.controller; import java.util.ArrayList;
import java.util.List; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.ssm.po.Items; //实现controller接口的处理器
public class ItemsController1 implements Controller{ public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub
//调用service查找 数据库,查询商品列表,这里使用静态数据模拟
List<Items> itemsList = new ArrayList<Items>();
//向list中填充静态数据 Items items_1 = new Items();
items_1.setName("联想笔记本");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); Items items_2 = new Items();
items_2.setName("苹果手机");
items_2.setPrice(5000f);
items_2.setDetail("iphone6苹果手机!"); itemsList.add(items_1);
itemsList.add(items_2); //这个方法需要返回modelAndView 所以创建
ModelAndView modelAndView=new ModelAndView();
//这个方法九相当于request.setAttribute
modelAndView.addObject("itemsList", itemsList);
//指定视图
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp"); return modelAndView;
} }
使用B适配器能够执行 实现HttpRequestHandler接口的handler
package org.ssm.controller; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.HttpRequestHandler;
import org.ssm.po.Items; public class ItemsController2 implements HttpRequestHandler{
//这个handler对应的适配器类是 org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter
public void handleRequest(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
// TODO Auto-generated method stub
//调用service查找 数据库,查询商品列表,这里使用静态数据模拟
List<Items> itemsList = new ArrayList<Items>();
//向list中填充静态数据 Items items_1 = new Items();
items_1.setName("联想笔记本");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); Items items_2 = new Items();
items_2.setName("苹果手机");
items_2.setPrice(5000f);
items_2.setDetail("iphone6苹果手机!"); itemsList.add(items_1);
itemsList.add(items_2);
arg0.setAttribute("itemsList", itemsList);
//早期servlet程序转发操作
arg0.getRequestDispatcher("/WEB-INF/jsp/items/itemsList.jsp").forward(arg0, arg1); //使用哪个适配器都可以 但是这个适配器 可以通过response对象 来设置响应数据的格式 } }
----------
jsp页面

--------------------
非注解映射器


-----------------------------
视图解析器

-f---------------------
注解映射器、适配器

------------------------------------


使用注解方式开发的handler
package org.ssm.controller; import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.ssm.po.Items; //使用注解开发的handler 不需要实现接口 这个注解和spring阶段 把action对象注入bean容器时使用的注解一样 导入的包也一样
//要明白 这里就是把该headler注入进spring容器中
@Controller
//使用注解标识这是一个handler
public class ItemsController3 {
//这里边可以编写任意多个方法 没有之前实现指定的接口时 只能覆写指定接口的局限性
//使用注解标识映射路径 即将来访问的路径 建议映射路径和类名一样 action写不写都行
//@RequestMapping实现对query1方法的一个映射 一个方法对应一个url
@RequestMapping("/query1.action")
public ModelAndView query1()throws Exception{
//调用service查找 数据库,查询商品列表,这里使用静态数据模拟
List<Items> itemsList = new ArrayList<Items>();
//向list中填充静态数据 Items items_1 = new Items();
items_1.setName("联想笔记本");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); Items items_2 = new Items();
items_2.setName("苹果手机");
items_2.setPrice(5000f);
items_2.setDetail("iphone6苹果手机!"); itemsList.add(items_1);
itemsList.add(items_2);
//创建modelAndView
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject(itemsList);
//指定视图
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
return modelAndView;
} }
然后再配置文件中配置该handler 推荐使用注解扫描方式(对标记@Controller类中标识有@RequestMapping的方法进行映射 在@RequestMapping里边定义映射的url)
否则 一个handler类就需要配置一个bean

--------------------------------
视图解析器的前缀和后缀配置

注意:如果配置了前缀和后缀 那么 在handler设置视图路径的时候 就不能在指定完整的路径了 但是有一个handler除外
不能指定完整路径的handler:1.实现Controller接口 以及2.注解方式实现的handler
1.

2.

路径为:

在配置了前缀和后缀之后 仍然需要指定完整路径的handler:实现了HttpRequesstHandler接口的handler

路径仍然为:

----------------------------
springMVC入门截图的更多相关文章
- 【Spring】SpringMVC入门示例讲解
目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...
- SpringMVC入门第二天
SpringMVC第二天 1. 回顾 1.Springmvc介绍? Springmvc是Spring公司 2.Springmvc入门程序 第一步:Web工程 第二步:导Jar包 第三步:web.x ...
- 3.2.1 SpringMVC入门
一. SpringMVC入门 1. MVC介绍 MVC全名 是Model View Controller, 是模型(model) - 视图(view) - 控制器(controller) 的缩写, 它 ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
- SpringMVC入门学习(一)
SpringMVC入门学习(一) ssm框架 spring SpringMVC是一个Java WEB框架,现在我们知道Spring了,那么,何为MVC呢? MVC是一种设计模式,其分为3个方面 mo ...
- springMVC入门(一)
1. SpringMVC入门 1.1SpringMVC是什么 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出 ...
- SpringMVC.入门篇《二》form表单
SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...
- SpringMVC.入门篇.一.HelloWorld
SpringMVC.入门篇<一>HelloWorld 项目包结构如下: HelloController.java 代码 package com.charles.controller; im ...
随机推荐
- 【网络协议】ICMP协议、Ping、Traceroute
ICMP协议 ICMP常常被觉得是IP层的一个组成部分,它是网络层的一个协议.它传递差错报文以及其它须要注意的信息.ICMP报文通常被IP层或更高层(TCP.UDP等)使用,它是在IP数据报内 ...
- Item 8:析构函数不要抛出异常 Effective C++笔记
Item 8: Prevent exceptions from leaving destructors. 析构函数不要抛出异常 因为析构函数经常被自己主动调用,在析构函数中抛出的异常往往会难以捕获,引 ...
- jcaptcha进阶
1.改动CaptchaServiceSingleton类.使用带參构造方法来创建DefaultManageableImageCaptchaService对象. watermark/2/text/aHR ...
- 基于Websocket的火拼俄罗斯(基础)
传统的HTTP请求是由浏览器发起,然后呢服务端接收到请求之后呢返回一个数据.那么这样一次来回之后呢请求就断了.但是WebSocket它不一样,它同样是由浏览器去发起一个请求但是这个请求是一个WebSo ...
- [javascript] jQuery系列之目录汇总
最近一个月写了些关于jQuery的文章,谢谢大家的支持.文章仅我个人观点,也许有不对的地方,请指出.这个系列还在更新中 一:jQuery基础系列: jQuery温习篇---强大的JQuery选择器 j ...
- Oracle数据库学习1------数据库安装及客户端配置
1.注册Oracle账户: 注册地址:https://login.oracle.com/mysso/signon.jsp 注意:注册的时候尽量使用外国的邮箱,因为使用国内的邮箱可能收不到Oracle发 ...
- vue2.x阅读笔记
v-once 作用: 只赋值一次 注意: 包括子项都是只赋值一次 模板 1.v-text v-html 2.{}语法 3.如果是html的属性,则用v-bind绑定,简写: 注意: 1.可以使用jav ...
- Tomcat应用通过Nat123部署到外网(Tomcat+Nat123)
这里吐槽下,我先想到的方式是用花生壳域名解析,但是花生壳坑太多不易新手操作,用户体验做的不好.然后度娘后才知道有Nat123这个比花生壳简易操作的软件. 1.到nat123官网下载客户端 http: ...
- Module, Package in Python
1.To put it simple, Module是写好的一系列函数或变量,文件以.py为后缀,可以在其他Module中整体或部分引用. PS: 在Module中[结尾或开头]加入if __name ...
- 【Oracle】搭建DG(DataGuard)
操作系统:OEL 5.6 Oracle 版本:11.2.0.4.0 DataGuard规划说明 DATABASE_ROLE DB_NAME IPADDR Primary lgr 192.168.10. ...