springMVC入门截图

news/2024/7/7 18:27:44

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.setAttributemodelAndView.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.HttpRequestHandlerAdapterpublic 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);//创建modelAndViewModelAndView 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

 路径仍然为:

 

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

 

转载于:https://www.cnblogs.com/Joke-Jay/p/7436562.html


http://lihuaxi.xjx100.cn/news/260526.html

相关文章

仅用 480 块 GPU 跑出万亿参数!全球首个“低碳版”巨模型 M6 来了

继今年 3 月阿里达摩院发布国内首个千亿参数多模态大模型 M6&#xff08;MultiModality-to-MultiModality MultitaskMega-transformer&#xff0c;以下简称 M6&#xff09; 之后&#xff0c;6 月 25 日&#xff0c;达摩院宣布对 M6 进行全新升级&#xff0c;带来“低碳版”巨模…

再见MybatisPlus,阿里推出新ORM框架!

以下文章来源方志朋的博客&#xff0c;回复”666“获面试宝典使用fluent mybatis也可以不用写具体的 xml 文件&#xff0c;通过 java api 可以构造出比较复杂的业务 sql 语句&#xff0c;做到代码逻辑和 sql 逻辑的合一。不再需要在 Dao 中组装查询或更新操作&#xff0c;或在 …

通过yum方式安装软件

CentOS7.X yum安装MySQL8.0 1、查看当前系统版本的详细信息 cat /etc/redhat-release 2、yum源下载&#xff08;https://link.zhihu.com/?targethttps%3A//dev.mysql.com/downloads/repo/yum/&#xff09; wget https://repo.mysql.com//mysql80-community-release-el7-6.no…

大厂白嫖拖垮开源!开源届码农:用户脾气大需求多还不给钱

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达来源丨新智元编辑丨极市平台导读 现在&#xff0c;开源软件界或即将到达必须变革的临界点&#xff1a;被大厂白嫖的既有模式不可持续&#xff0c;开源码农必须得到相应尊重和…

菜鸡记录-王爽-汇编语言-实验十(编写子程序-显示字符串)

题目&#xff1a; 代码&#xff1a; assume cs:codedata segmentdb Welcome to masm!,0data endscode segmentstart: mov dh,8mov dl,3mov cl,2mov ax,datamov ds,axmov si,0call show_strmov ax,4c00hint 21hshow_str: mov ax,0b800h;保存起始地址&#xff01;mov es,ax;起始…

Linux运维工程师发展前景

随着IT产业的不断发展&#xff0c;尤其是Linux行业的发展&#xff0c;现在互联网企业服务器数量越来越多&#xff0c;当到达几百台&#xff0c;上千台服务器之后&#xff0c;服务器日常管理也逐渐繁杂&#xff0c;每天如果通过人工去频繁的更新或者部署及管理这些服务器&#x…

Tomcat在Linux上的安装与配置

1.安装好linux系统&#xff0c;下载适合的 Tomcat(jdk)下载JDK与Tomcatjdk 下载Tomcat 下载参考地址&#xff1a;jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.htmltomcat下载地址:http://tomcat.apache.org /download-70.cgi…

21 款 yyds 的 IDEA插件

以下文章来源方志朋的博客&#xff0c;回复”666“获面试宝典最近&#xff0c;闲来无事&#xff0c;为了改变一下枯燥的编程环境&#xff0c;特地搜寻了下有助提升代码功力的插件.1、Stackoverflow 这个插件其实是最实用的插件&#xff0c;程序猿遇到的问题&#xff0c;基本都能…