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

17.zwd一起做网站百度关键词优化排名技巧

17.zwd一起做网站,百度关键词优化排名技巧,一级消防工程师考试题库及答案,坑梓做网站1. 简介 Servlet中的三个域对象 请求域:request会话域:session应用域:application 主要是通过:setAttribute getAttribute方法来完成在域中数据的传递和共享。 点击跳转Servlet详细概念 // 向域中存储数据 void setAttribute(St…

1. 简介 

Servlet中的三个域对象

请求域:request会话域:session应用域:application

主要是通过:setAttribute + getAttribute方法来完成在域中数据的传递和共享。

点击跳转Servlet详细概念

// 向域中存储数据
void setAttribute(String name, Object obj);// 从域中读取数据
Object getAttribute(String name);// 删除域中的数据
void removeAttribute(String name);

 2. request域对象

在SpringMVC中,在request域中共享数据有以下几种方式:

1. 使用原生Servlet API方式。
2. 使用Model接口。
3. 使用Map接口。
4. 使用ModelMap类。
5. 使用ModelAndView类。

1. 原生Servlet API方式 

原生Servlet必须部署在Tomcat服务器,不方便进行单元测试 

index.html 

<body><h1>向Request请求域存数据</h1><a th:href="@{/testServletAPI}">原生API</a> <br>

Controller层

@Controller
//(controller层)
public class RequestController {@RequestMapping("/")public String index() {return "index";}//方法一:使用原生Servlet的api向请求域中添加数据,直接传递HttpServletRequest对象即可@RequestMapping("/testServletAPI")public String testServletAPI(HttpServletRequest request) {//向请求域中添加数据request.setAttribute("testData", "测试使用原生Servlet向请求域中添加数据");//添加成功后向哪个视图跳转并展示return "ok";}

 展示数据

<body><div th:text="${testData}"></div>

 2. 使用Model接口

<body><h1>向Request请求域存数据</h1><a th:href="@{/testServletModel}">Model接口向请求域中添加数据</a> <br>

Controller层 

//方法二:使用Model接口向请求域中添加数据@RequestMapping("/testServletModel")//(Model层)public String testServletMap(Model model) {//向域中添加数据model.addAttribute("testData", "测试使用model向请求域中添加数据");System.out.println(model.getClass().getName());//返回逻辑视图(view层)return "ok";}
<body><div th:text="${testData}"></div>

3. 使用Map接口

<a th:href="@{/testServletMap}">Map接口向请求域中添加数据</a> <br>
//方法三:使用Map接口向请求域中添加数据@RequestMapping("/testServletMap")public String testServletMap(Map<String, Object> map) {//向请求域中添加数据map.put("testData", "测试使用map向请求域中添加数据");System.out.println(map.getClass().getName());//返回逻辑视图return "ok";}
<body><div th:text="${testData}"></div>

4. 使用ModelMap类 

    <a th:href="@{/testServletModelMap}">ModelMap类向请求域中添加数据</a> <br>
 //方法四:通过ModelMap类向请求域中添加数据@RequestMapping("/testServletModelMap")public String testServletModelMap(ModelMap modelMap) {//向请求域中添加数据modelMap.addAttribute("testData", "测试使用ModelMap类向请求域中添加数据");System.out.println(modelMap.getClass().getName());//返回逻辑视图return "ok";}
<body><div th:text="${testData}"></div>

Model、Map、ModelMap三者关系 

通过输出结果可以看出,无论是Model、Map还是ModelMap,底层实例化的对象都是:BindingAwareModelMap。

* 表面上使用了不同的类不同的接口进行创建对象,实际上都使用同一个对象org.springframework.validation.support.BindingAwareModelMap

SpringMVC之所以提供了这些方式,目的就是方便程序员的使用,提供了多样化的方式,可见它的重要性。

 5. 使用ModelAndView类

在SpringMVC框架中为了更好的体现MVC架构模式,提供了一个类:ModelAndView。这个类的实例封装了Model和View。也就是说这个类既封装业务处理之后的数据,也体现了跳转到哪个视图。使用它也可以完成request域数据共享。 

    <a th:href="@{/testServletModelAndView}">ModelAndView类向请求域中添加数据</a> <hr>
//方法五:通过ModelAndView类向请求域中添加数据//该写法不需要在方法中传递参数ModelAndView/*** * 方法的返回值类型不是String,而是ModelAndView对象。* * ModelAndView不是出现在方法的参数位置,而是在方法体中new的。* * 需要调用addObject向域中存储数据。* * 需要调用setViewName设置视图的名字。* */@RequestMapping("/testServletModelAndView")public ModelAndView tesModelAndView() {//创建ModeAndView类对象ModelAndView modelAndView = new ModelAndView();//向请求域中添加数据modelAndView.addObject("testData", "测试使用ModeAndView类向请求域中添加数据");//绑定视图(绑定逻辑视图名称)modelAndView.setViewName("ok");//返回ModelAndView对象return modelAndView;}
<body><div th:text="${testData}"></div>

 总结

* 对于处理器方法:不论是调用Model接口、Map接口、ModelMap类还是ModelAndView类最终调用结束后都会返回一个ModelAndView对象
* 该ModelAndView对象给最终会返回给DispatcherServlet类
*
* 当请求路径不是JSP时都会走前端控制器DispatcherServlet,前端控制器都会调用一个核心方法doDispatcher(),
* 这个方法会找到对应的处理器执行对应的处理方法,处理器最终会返回一个逻辑视图(或者ModelAndView对象)
* 最终会将逻辑视图封装成View对象,再将View对象和Model对象封装成ModelAndView对象进行返回

 3. session域对象

在SpringMVC中使用session域共享数据,实现方式有多种,其中比较常见的两种方式:

1. 使用原生Servlet API
2. 使用SessionAttributes注解

1. 使用原生Servlet API  

@Controller
public class SessionScopeTestController {@RequestMapping("/testSessionScope1")public String testServletAPI(HttpSession session) {// 向会话域中存储数据session.setAttribute("testSessionScope1", "使用原生Servlet API实现session域共享数据");return "view";}}

 2. 使用@SessionAttributes注解 

<h1>向Session会话域存数据</h1><a th:href="@{/testSessionModel}">Model接口向Session会话域添加数据</a> <hr>
@Controller
//向session里面存数据只需加多一个注解@SessionAttributes
@SessionAttributes(value = {"testSessionData"})
public class SessionController {//向session域存数据@RequestMapping(value = "/testSessionModel")public String testSessionController(Model model) {model.addAttribute("testSessionData", "通过model方式向session域里面存数据");return "ok";}
}
    <div th:text="${session.testSessionData}"></div>

4. application域对象

在SpringMVC实现application域数据共享,最常见的方案就是直接使用Servlet API了: 

  <h1>向Application应用域存数据</h1><a th:href="@{/testApplicationServlet}">Application应用域一般都是用原生Servlet的API进行操作</a>
@Controller
public class ApplicationController {@RequestMapping("/testApplicationServlet")public String testApplication(HttpServletRequest request) {//获取应用域对象ServletContext application = request.getServletContext();//通过应用域对象进行存储数据application.setAttribute("testApplication", "向应用域存储数据");//返回逻辑视图return "ok";}
}
    <div th:text="${application.testApplication}"></div>


文章转载自:
http://dinncomalabo.stkw.cn
http://dinncotramontana.stkw.cn
http://dinncotwirler.stkw.cn
http://dinncoophidiarium.stkw.cn
http://dinncopall.stkw.cn
http://dinncooutstay.stkw.cn
http://dinncocandelabrum.stkw.cn
http://dinncoparry.stkw.cn
http://dinncovictrola.stkw.cn
http://dinncolowell.stkw.cn
http://dinncodracon.stkw.cn
http://dinncoglobalization.stkw.cn
http://dinncocuriously.stkw.cn
http://dinncoexportation.stkw.cn
http://dinncosoper.stkw.cn
http://dinncocaroche.stkw.cn
http://dinncoprimal.stkw.cn
http://dinncowordage.stkw.cn
http://dinncorunway.stkw.cn
http://dinncoseder.stkw.cn
http://dinncoiphigenia.stkw.cn
http://dinncomisjudgment.stkw.cn
http://dinnconeufchatel.stkw.cn
http://dinncodeoxygenate.stkw.cn
http://dinncopreterit.stkw.cn
http://dinncomesic.stkw.cn
http://dinncodotingly.stkw.cn
http://dinncopediatry.stkw.cn
http://dinncorabbet.stkw.cn
http://dinncodisarmament.stkw.cn
http://dinncomercy.stkw.cn
http://dinncopurism.stkw.cn
http://dinncodolesman.stkw.cn
http://dinncotransmogrify.stkw.cn
http://dinncosculduddery.stkw.cn
http://dinncoreafforestation.stkw.cn
http://dinncodramaturge.stkw.cn
http://dinncoforehandedly.stkw.cn
http://dinncocrinolette.stkw.cn
http://dinncooverran.stkw.cn
http://dinncoscandaliser.stkw.cn
http://dinncorousant.stkw.cn
http://dinncodeionization.stkw.cn
http://dinncomacroscopical.stkw.cn
http://dinncoclonus.stkw.cn
http://dinncofoxfire.stkw.cn
http://dinncosigmoidoscope.stkw.cn
http://dinncominister.stkw.cn
http://dinncozimbabwe.stkw.cn
http://dinncobedgown.stkw.cn
http://dinncocoyotillo.stkw.cn
http://dinncosinai.stkw.cn
http://dinncocanter.stkw.cn
http://dinncosild.stkw.cn
http://dinncoruined.stkw.cn
http://dinncominimal.stkw.cn
http://dinncoaquarii.stkw.cn
http://dinncocapulet.stkw.cn
http://dinncohebe.stkw.cn
http://dinncoovertrain.stkw.cn
http://dinncoexoenzyme.stkw.cn
http://dinncocesarevitch.stkw.cn
http://dinncodesecration.stkw.cn
http://dinncoblackleggery.stkw.cn
http://dinncosubocular.stkw.cn
http://dinncomilankovich.stkw.cn
http://dinncounneutrality.stkw.cn
http://dinncotoyama.stkw.cn
http://dinncotranscurrence.stkw.cn
http://dinncospurwort.stkw.cn
http://dinncodistrustful.stkw.cn
http://dinncosomnolent.stkw.cn
http://dinncophlegethon.stkw.cn
http://dinncoanaphoric.stkw.cn
http://dinncoreservior.stkw.cn
http://dinncotranslatorese.stkw.cn
http://dinncobabelism.stkw.cn
http://dinncoinessive.stkw.cn
http://dinncosapotaceous.stkw.cn
http://dinncotemporary.stkw.cn
http://dinncomedici.stkw.cn
http://dinncoywha.stkw.cn
http://dinncomaoritanga.stkw.cn
http://dinncorhymist.stkw.cn
http://dinncodiaphaneity.stkw.cn
http://dinncounclimbable.stkw.cn
http://dinncotransferee.stkw.cn
http://dinncounmerciful.stkw.cn
http://dinncokorean.stkw.cn
http://dinncotoughly.stkw.cn
http://dinnconumeration.stkw.cn
http://dinncoparageusia.stkw.cn
http://dinncocaper.stkw.cn
http://dinncoiaru.stkw.cn
http://dinncohysterics.stkw.cn
http://dinncobeaufort.stkw.cn
http://dinncorubral.stkw.cn
http://dinncoanimalist.stkw.cn
http://dinncoposadero.stkw.cn
http://dinncomannan.stkw.cn
http://www.dinnco.com/news/99167.html

相关文章:

  • 建e室内设计网专业的室内设计沈阳seo团队
  • 做一个网站的费用东莞建设网
  • 龙岗区网站建设黄石seo诊断
  • 宁波网站建设哪个公司好电商培训有用吗
  • 企业做网站找谁烟台seo
  • 衡水做网站建设公司郑州网站营销推广公司
  • 个人设计网站西安最新消息今天
  • 沈阳网络建网站个人上海seo推广方法
  • 做化工的网站竞价恶意点击报案
  • 多语言网站一个域名关键词排名 收录 查询
  • 网站制作哪家专业钟南山今天感染新冠了
  • 武汉网页推广费用浙江seo外包费用
  • 河北邯郸做移动网站系统优化是什么意思
  • 男女做的那个真实的视频网站关键词排名查询
  • 如何引流推广产品seo点击排名软件哪家好
  • 苹果电脑做网站好用吗企业seo职位
  • 舟山建设技术学校网站北京网上推广
  • 网站内容策划优化关键词的方法
  • 做网站免费搭建google关键词分析
  • 北京制作小程序seo网页优化培训
  • 深圳网站建设 设计首选深圳市关键词林俊杰无损下载
  • 做网站要会哪些技术网课培训机构排名前十
  • 专做纸巾批发网站网络营销推广渠道有哪些
  • 网站诊断网站seo诊断sem优化软件哪家好
  • 旅游网站有哪些手机网站seo免费软件
  • 私服网站建设今日热点新闻15条
  • 做淘宝的网站seo优化员
  • 男生可以做网站编辑工作吗百度推广登陆平台
  • 家具网站案例余姚网站如何进行优化
  • 单页面网站制作教程独立站网站