博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己Springmvc复习(一)springmvc基础
阅读量:4142 次
发布时间:2019-05-25

本文共 3393 字,大约阅读时间需要 11 分钟。

一、springMVC基础

1.入门程序:

(1)前段控制器的配置:在web-info下面的web.xml文件

springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc.xml springmvc *.action (2)建立ItemController层,相当于Struts的action,新建一个类, @Controller public class ItemController { @Autowired private ItemsService is; @RequestMapping("/Items.action") //指定映射路径,在浏览器中显示的URL后缀 public ModelAndView itemList() { // 创建页面需要显示的商品数据 List list = is.selectItemsList(); ModelAndView mav =new ModelAndView(); mav.addObject("itemList",list); mav.setViewName("itemList"); return mav; } (3)创建springmvc.xml配置文件 在ItemController类前面添加@Controller注解,并且在xml扫描ItemController注解: ,扫描以com.itheima开头的所有包。 (4)逆向工程生成pojo包,完成controller层的添加代码 ![在这里插入图片描述](https://img-blog.csdn.net/2018101115560120?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N0cmVhbWxpbmVXcQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) **2.springmvc配置三大组件** (1)处理器映射器 (2)处理器适配器 (3)注解驱动(可以取代上面的(1)(2)) (4)视图解析器 //解析jsp页面的名字 //解析jsp文件的后缀:xx.jsp 视图解析器的作用:在controller层的类中,最后一句mav.setViewName("itemList");,("itemList")当中表示的是当前操作的jsp页面的名字和后缀。 **3.springmvc和mybatis-spring的整合** 新建一个项目 (1)添加整合用的jar包 (2)整合 ![在这里插入图片描述](https://img-blog.csdn.net/20181011155532918?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N0cmVhbWxpbmVXcQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

:将mybatis整合完毕的三个文件加上springmvc文件拷贝,

:修改db中的数据库名称,
:applicationContext.xml文件当中保留Mapper动态代理开发扫描,将基本包下面的value修改成springmvc.dao,
:在sqlMapConfig中修改别名,删除标签
(3)在web.xml中添加Spring的监听器,
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
(4)在web.xml文件中设置读取spring.xml文件的代码
将前端控制器的代码拷贝进web.xml文件当中
(5)注解事务
<tx:annotation-driven transaction-manager=“transactionManager”/>
4.从数据库中查询商品
1.创建ItemService和ItemServiceImpl层,新建方法public ListselectItemsList(){
return im.selectByExampleWithBLOBs(null);
}
2.在controller层,加入注解,
@Autowired //采用该注解,可以直接调用ItemsService 层,
private ItemsService is;
在类中完成代码完成查询:
List list = is.selectItemsList();
ModelAndView mav =new ModelAndView();
mav.addObject(“itemList”,list);
mav.setViewName(“itemList”);
return mav;

5.参数绑定的三种类型

1.默认参数绑定
(1)在service中新建一个方法ItemsEdit用来修改商品信息
(2)新建一个根据id修改商品信息的类
public ModelAndView ItemsEdit(HttpServletRequest request,HttpServletResponse response,HttpSession session,Model model ) { //servlet最原始的绑定
String id=request.getParameter(“id”);
Items items=is.selectItemsById(Integer.parseInt(id));
ModelAndView mav = new ModelAndView();
mav.addObject(“item”,items);
mav.setViewName(“editItem”);
return mav;
}

2.简单类型	方法跟上面的一样,只是类的形参多加了一个Integer,	public ModelAndView ItemsEdit(Integer id,HttpServletRequest request,HttpServletResponse response,HttpSession session,Model 										  model	)	{         //servlet最原始的绑定				Items items=is.selectItemsById(id);		ModelAndView mav = new ModelAndView();		mav.addObject("item",items);		mav.setViewName("editItem");		return mav;	}3.POJO	(1)新建方法修改信息,入参用的是一个POJO对象	public void updateItemsById(Items items) {		im.updateByPrimaryKeyWithBLOBs(items);	}

5.解决POST提交乱码问题

在web.xml文件中添加如下代码:
encoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encoding
*.action
6.参数绑定之包装类POJO
(1)在POJO包下面创建QueryVo类,里面定义一个items对象,完成get和set方法
private Items items;
public Items getItems() {
return items;
}
public void setItems(Items items) {
this.items = items;
}
(2)将controller类中的入参Items items改为QueryVo vo,
(3)将jsp网页上面的input里面的name属性前面添加一个items.

你可能感兴趣的文章
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>