当前位置: 首页 > news >正文

西昌城乡建设网站网站开发会员功能教程

西昌城乡建设网站,网站开发会员功能教程,制作公司简介宣传片,自建商城网站五、域对象共享数据0、三个域对象范围request#xff1a;一次请求 第1#xff5e;6都是向request共享session#xff1a;一次会话#xff08;浏览器开启到浏览器关闭#xff0c;与服务器关闭无关#xff0c;session有钝化和活化操作#xff0c;可以持久化数据#xff0…五、域对象共享数据0、三个域对象范围request一次请求 第16都是向request共享session一次会话浏览器开启到浏览器关闭与服务器关闭无关session有钝化和活化操作可以持久化数据servletContext整个应用的范围服务器开启到服务器关闭1、使用ServletAPI向request域对象共享数据RequestMapping(/testServletAPI) public String testServletAPI(HttpServletRequest request){request.setAttribute(testScope, hello,servletAPI);return success; }request域内数据获取方式p th:text${testRequestScope}/p2、使用ModelAndView向request域对象共享数据这个很重要因为从源码中看不过你用的1-6哪一种方式最终都是封装到modelAndView里面去RequestMapping(/testModelAndView) public ModelAndView testModelAndView(){/*** ModelAndView有Model和View的功能* Model主要用于向请求域共享数据* View主要用于设置视图实现页面跳转*/ModelAndView mav new ModelAndView();//向请求域共享数据mav.addObject(testScope, hello,ModelAndView);//设置视图实现页面跳转mav.setViewName(success);return mav; }3、使用Model向request域对象共享数据RequestMapping(/testModel) public String testModel(Model model){model.addAttribute(testScope, hello,Model);return success; }4、使用map向request域对象共享数据RequestMapping(/testMap) public String testMap(MapString, Object map){map.put(testScope, hello,Map);return success; }5、使用ModelMap向request域对象共享数据RequestMapping(/testModelMap) public String testModelMap(ModelMap modelMap){modelMap.addAttribute(testScope, hello,ModelMap);return success; }6、Model、ModelMap、Map的关系Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的继承关系如下图![iShot_2023-03-08_14.55.26](/Users/lannisite/Library/Mobile Documents/com~apple~CloudDocs/Typora笔记/typroa_picture/iShot_2023-03-08_14.55.26.png)public interface Model{} public class ModelMap extends LinkedHashMapString, Object {} public class ExtendedModelMap extends ModelMap implements Model {} public class BindingAwareModelMap extends ExtendedModelMap {}7、控制器方法统一返回ModelAndView对象通过打断点的方式运行调试界面会有一个方法栈里面的方法直接或间接的调用了我们打断点的那一行代码在里面找到DispatcherServlet1061行mv ha.handle(processedRequest, response, mappedHandler.getHandler());8、向session域共享数据此处建议使用原生ServletAPI虽然SpringMVC提供了注解SessionAttribute,这个注解可以将共享在请求域的数据再共享一份到session中RequestMapping(/testSession) public String testSession(HttpSession session){session.setAttribute(testSessionScope, hello,session);return success; }获取session中数据 p th:text${session.testSessionScope}/p9、向application域共享数据RequestMapping(/testApplication) public String testApplication(HttpSession session){ServletContext application session.getServletContext();application.setAttribute(testApplicationScope, hello,application);return success; }获取servletContext中数据信息 p th:text${application.testApplicationScope}/p六、SpringMVC的视图SpringMVC中的视图是View接口视图的作用渲染数据将模型Model中的数据展示给用户SpringMVC视图的种类很多默认有转发视图和重定向视图当工程引入jstl的依赖转发视图会自动转换为JstlView若使用的视图技术为Thymeleaf在SpringMVC的配置文件中配置了Thymeleaf的视图解析器由此视图解析器解析之后所得到的是ThymeleafView1、ThymeleafView当控制器方法中所设置的视图名称没有任何前缀时此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析视图名称拼接视图前缀和视图后缀所得到的最终路径会通过转发的方式实现跳转RequestMapping(/testHello) public String testHello(){return hello; }2、转发视图SpringMVC中默认的转发视图是InternalResourceViewSpringMVC中创建转发视图的情况当控制器方法中所设置的视图名称以forward:为前缀时创建InternalResourceView视图此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析而是会将前缀forward:去掉剩余部分作为最终路径通过转发的方式实现跳转例如forward:/forward:/employeeRequestMapping(/testForward) public String testForward(){return forward:/testHello; }![image-20210706201316593](/Users/lannisite/Library/Mobile Documents/com~apple~CloudDocs/Typora笔记/spring学习笔记/Spring5/img/img003.png)3、重定向视图SpringMVC中默认的重定向视图是RedirectView转发和重定向区别转发可以获取请求域的数据但是重定向不可以因为不是一次请求转发可以访问WEB-INF下面的资源但是重定向不可以获取因为安全性问题转发不能跨域但是重定向可以跨域当控制器方法中所设置的视图名称以redirect:为前缀时创建RedirectView视图此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析而是会将前缀redirect:去掉剩余部分作为最终路径通过重定向的方式实现跳转例如redirect:/redirect:/employeeRequestMapping(/testRedirect) public String testRedirect(){return redirect:/testHello; }![image-20210706201602267](/Users/lannisite/Library/Mobile Documents/com~apple~CloudDocs/Typora笔记/spring学习笔记/Spring5/img/img004.png)注重定向视图在解析时会先将redirect:前缀去掉然后会判断剩余部分是否以/开头若是则会自动拼接上下文路径4、视图控制器view-controller当控制器方法中仅仅用来实现页面跳转即只需要设置视图名称时可以将处理器方法使用view-controller标签进行表示!--path设置处理的请求地址view-name设置请求地址所对应的视图名称 -- mvc:view-controller path/ view-nameindex/mvc:view-controllermvc:annotation-driven/注当SpringMVC中设置任何一个view-controller时其他控制器中的请求映射将全部失效此时需要在SpringMVC的核心配置文件中设置开启mvc注解驱动的标签mvc:annotation-driven /
http://www.hkea.cn/news/14420405/

相关文章:

  • 六盘水住房和城乡建设部网站网站建设120
  • 如何在网站页面做标注wordpress添加flash
  • 单页面网站 seo17网站一起做网店白沟
  • 深圳做分销网站的公司logoko
  • 西安网站建设的网站如何修改管理网站
  • 欧美网站建设公司排名物流公司上门取大件托运
  • 腾讯云 wordpress建站做移动网站快速排
  • 浙江网站备案流程烟台学校网站建设
  • 滨州建网站仿牌网站空间
  • 北京专业企业营销网站建设陵水媒体建站哪家好
  • 网站 建设 步骤阿里巴巴吧网站怎么做
  • 轻淘客cms建站教程网站开发技术招聘
  • 网站后台编程语言网络营销就是
  • 房产网站开发文档怎么给一个网站做seo
  • 上海网站建设电免费的编程软件下载
  • 阜阳制作网站公司建设电影网站算盗版吗
  • 最少的钱怎么做网站做网站要考虑的
  • pc网站优化排名毕设DW做网站的过程
  • 青岛网站建设迅优长春网站制作建设
  • 律师个人网站源码win7网站服务器制作软件
  • 北京大兴地区网站建设电商美工培训机构
  • 淘宝导购网站模板制作网页时通常用表格进行页面布局
  • 推广型网站开发网址门户网站平台建设情况
  • 福州seo网站推广优化梦幻西游网页版下载
  • 专门做视频点评的网站长丰县建设局网站
  • 安徽网站开发推荐wordpress 开发插件
  • 网站建设公司包括哪些方面google首页
  • 桂林北站图片域名购买推荐
  • 上海最新新闻头条阳城seo排名
  • 微信红包网站制作手机网站建设资讯