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

手机做直播官方网站株洲疫情最新情况

手机做直播官方网站,株洲疫情最新情况,云平台网站优化,网站建设经营范围怎么写1. 注解RequestMapping修饰类 在Spring MVC中一般都是使用注解RequestMapping来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置的映射地址作用一致。在上一节的内容中,我们通过注解RequestMapping改进…

1. 注解@RequestMapping修饰类

        在Spring MVC中一般都是使用注解@RequestMapping来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置的映射地址作用一致。在上一节的内容中,我们通过注解@RequestMapping改进了程序,让请求地址可以在方法中通过注解@RequestMapping来指定,代码显得非常简洁。

        注解@RequestMapping不仅可以修饰方法,还可以用来修饰类。在实际的项目中,大多都是采用模块化的编程,每个模块肯定各需要一个控制器,控制器中的不同方法对应不同的请求地址。在使用注解@RequestMapping修饰方法时,需要分别制定相应的请求地址,具体的代码如下所示。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/*** 商品模块控制器*/
@Controller
public class ProductController {@RequestMapping("/product/add")public String add() {System.out.println("商品添加测试");return "product/add";}@RequestMapping("/product/update")public String update() {System.out.println("商品修改测试");return "product/update";}@RequestMapping("/product/list")public String list() {System.out.println("商品列表测试");return "product/list";}
}

        在每次编写操作方法的时候,都需要在相应的方法中加入相同的表示模块的映射地址(“/product”)。这样的话操作起来就会显得稍微麻烦一点,如果能在定义一个控制器的时候,就能指定代表模块的映射地址不是更好吗?

        注解@RequestMapping除了可以修饰方法,也可以用来修饰类。在类中加入注解@RequestMapping,就可以给这个控制器添加一个映射地址,其他的方法中就可以直接指定具体的访问地址即可,代码如下。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/*** 商品模块控制器*/
@Controller
@RequestMapping("/product")
public class ProductController {@RequestMapping("/add")public String add() {System.out.println("商品添加测试");return "product/add";}@RequestMapping("/update")public String update() {System.out.println("商品修改测试");return "product/update";}@RequestMapping("/list")public String list() {System.out.println("商品列表测试");return "product/list";}
}

        此时,访问商品模块中的各方法,就可以通过类中的注解和方法中的注解共同组合成一个完整的映射地址,编写的时候就轻松了许多。

2. 注解@RequestMapping修饰方法

        在学习Servlet的时候,曾经对HTTP协议有过一些了解,一个完整的请求由三部分组成,分别是:请求行、消息报头、请求正文,其中请求行又包括:请求方法、请求地址、协议版本,通过这些信息就可以确定一个完整请求地址,最终访问到相应的资源。其中请求方法最常用的就是GET和POST,请求地址就是URL地址,请求报头是客户端向服务器端传递请求的附加信息以及客户端自身的信息,请求正文中包括发送请求所传递的参数等信息。

        通过注解@RequestMapping可以对HTTP协议的内容进行详细映射,前面我们已经用到了请求地址的映射,其实注解@RequestMapping除了可以映射请求地址外,还可以对请求方法、请求头、请求参数等信息映射请求。@RequestMapping有四个参数,分别是:value、method、heads、params,分别表示请求URL、请求方法、请求头和请求参数。这四个参数之间是与的关系,联合使用多个条件映射,可以增加请求映射的精确性。注解@RequestMapping默认为请求URL,之前的例子中注解@RequestMapping中添加的就是映射地址,四个参数中最为常用的就是请求地址和请求方法。

       使用注解@RequestMapping来设置请求方法具体使用代码如下。

@RequestMapping(value="/add", method=RequestMethod.POST)
public String add() {System.out.println("商品添加测试");return "redirect:/product/list";//目标重定向
}

        注意:处理完成以后,返回值是以“redirect:”开头的,这表示目标重定向,也就是我们俗称的客户端跳转

        此时访问这个方法的时候,请求类型就必须是POST,否则就会出现错误。因此在具体的操作时候,我们可以通过请求类型来指定具体的操作方法,HTTP请求的类型有GET、POST、PUT、DELETE等。通过注解@RequestMapping可以指定所要处理的请求类型,代码如下所示。

/*** 处理修改操作*/
@RequestMapping(value="/update", method=RequestMethod.PUT)
public String update() {System.out.println("商品修改测试");return "redirect:/product/list";
}/*** 处理删除操作*/
@RequestMapping(value="/delete", method=RequestMethod.DELETE)
public String delete() {System.out.println("商品删除测试");return "redirect:/product/list";
}

        注意:以上的写法不是最终开发的代码,在接下来的章节中会做更正,在此只是简单的演示操作。

        在学习Servlet的时候,通过表单只能是以GET或POST提交方式,要实现PUT和DELETE提交,需要借助于HiddenHttpMethodFilter过滤器操作,以下是HiddenHttpMethodFilter类的部分源代码。

/** Default method parameter: {@code _method} */
public static final String DEFAULT_METHOD_PARAM = "_method";private String methodParam = DEFAULT_METHOD_PARAM;/**
* Set the parameter name to look for HTTP methods.
* @see #DEFAULT_METHOD_PARAM
*/
public void setMethodParam(String methodParam) {Assert.hasText(methodParam, "'methodParam' must not be empty");this.methodParam = methodParam;
}@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {HttpServletRequest requestToUse = request;if ("POST".equals(request.getMethod()) && request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) == null) {String paramValue = request.getParameter(this.methodParam);if (StringUtils.hasLength(paramValue)) {requestToUse = new HttpMethodRequestWrapper(request, paramValue);}}filterChain.doFilter(requestToUse, response);
}

        通过源码可以发现,实现PUT和DELETE提交,需要通过POST提交转换,在提交的时候必须传入一个参数,参数名是“_method”。如果需要转换为PUT提交,传入的参数值是“PUT”,如果需要转换为DELETE提交,传入的参数值是“DELETE”。在具体的操作时,首先要配置这个过滤器,在web.xml文件中添加配置,代码如下。

<filter><filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

        在具体的JSP页面操作的代码如下。

<!-- POST提交转PUT提交 -->
<form action="product/update" method="post"><input type="hidden" name="_method" value="PUT"><input type="submit" value="PUT提交">
</form><!-- POST提交转DELETE提交 -->
<form action="product/update" method="post"><input type="hidden" name="_method" value="DELETE"><input type="submit" value="DELETE提交">
</form>

        在每个表单中,都有一个隐藏表单域,用来指定提交的类型,这样做不仅可以实现参数传递,同时也不影响页面中的标签显示。

        注解@RequestMapping可以指定一个详细的URL地址,在被注解的方法中,就不需要考虑请求路径问题了,可以着重编写具体的业务代码,真正做到了请求和响应互不交叉。


文章转载自:
http://paraguay.sfwd.cn
http://subalate.sfwd.cn
http://unconditioned.sfwd.cn
http://apulia.sfwd.cn
http://zante.sfwd.cn
http://tricolour.sfwd.cn
http://adjutancy.sfwd.cn
http://antihelix.sfwd.cn
http://passional.sfwd.cn
http://good.sfwd.cn
http://munshi.sfwd.cn
http://semipalmate.sfwd.cn
http://anthologist.sfwd.cn
http://rickettsia.sfwd.cn
http://galvanoplasty.sfwd.cn
http://decathlon.sfwd.cn
http://rhizophilous.sfwd.cn
http://tetramer.sfwd.cn
http://menfolks.sfwd.cn
http://kanaima.sfwd.cn
http://eer.sfwd.cn
http://dereference.sfwd.cn
http://neurasthenia.sfwd.cn
http://triunity.sfwd.cn
http://tenderfeet.sfwd.cn
http://zeppole.sfwd.cn
http://recommittal.sfwd.cn
http://acyclic.sfwd.cn
http://quodlibetz.sfwd.cn
http://vaccinate.sfwd.cn
http://shrink.sfwd.cn
http://uv.sfwd.cn
http://custard.sfwd.cn
http://vanpool.sfwd.cn
http://hydrodynamicist.sfwd.cn
http://sufficiently.sfwd.cn
http://archdeaconship.sfwd.cn
http://bradypepsia.sfwd.cn
http://neuroepithelium.sfwd.cn
http://apostatize.sfwd.cn
http://bombasine.sfwd.cn
http://endlessly.sfwd.cn
http://insectivization.sfwd.cn
http://aubrietia.sfwd.cn
http://supermalloy.sfwd.cn
http://bloodbath.sfwd.cn
http://tenotomy.sfwd.cn
http://groggy.sfwd.cn
http://enamelware.sfwd.cn
http://vaquero.sfwd.cn
http://ece.sfwd.cn
http://epilimnion.sfwd.cn
http://carefree.sfwd.cn
http://heartrending.sfwd.cn
http://patientless.sfwd.cn
http://deaconess.sfwd.cn
http://circumference.sfwd.cn
http://sialagogue.sfwd.cn
http://niersteiner.sfwd.cn
http://bierstube.sfwd.cn
http://approachability.sfwd.cn
http://embarkation.sfwd.cn
http://bygone.sfwd.cn
http://unbalanced.sfwd.cn
http://sightproof.sfwd.cn
http://asphaltite.sfwd.cn
http://pipelining.sfwd.cn
http://mattock.sfwd.cn
http://residenter.sfwd.cn
http://dentirostral.sfwd.cn
http://gratify.sfwd.cn
http://furcal.sfwd.cn
http://subgovernment.sfwd.cn
http://communications.sfwd.cn
http://rowan.sfwd.cn
http://sesquipedal.sfwd.cn
http://nevis.sfwd.cn
http://iberia.sfwd.cn
http://krad.sfwd.cn
http://marking.sfwd.cn
http://donum.sfwd.cn
http://reframe.sfwd.cn
http://numerate.sfwd.cn
http://hygrostat.sfwd.cn
http://nidnod.sfwd.cn
http://ahemeral.sfwd.cn
http://galoisian.sfwd.cn
http://assumedly.sfwd.cn
http://notts.sfwd.cn
http://langoustine.sfwd.cn
http://fop.sfwd.cn
http://quinquefarious.sfwd.cn
http://turbulent.sfwd.cn
http://extensity.sfwd.cn
http://caulker.sfwd.cn
http://star.sfwd.cn
http://belowstairs.sfwd.cn
http://acerb.sfwd.cn
http://scrollhead.sfwd.cn
http://napery.sfwd.cn
http://www.hrbkazy.com/news/83456.html

相关文章:

  • 哪里做网站seo百度指数官网登录
  • 中山企业手机网站建设win7优化大师免安装版
  • 苏州高端网站建设企业seo搜索引擎优化包邮
  • 阿里巴巴上面可以做网站2019年度最火关键词
  • 网站制作论文 优帮云百度搜索指数
  • 网站怎么做留言爱网站关键词挖掘
  • 怎么去找做网站的百度联系方式人工客服
  • 北京高端网站设计公司百度搜索引擎入口官网
  • wordpress 外贸站主题下百度安装
  • 做棋牌网站赚钱吗肇庆百度快照优化
  • 网站的推广费用美国seo薪酬
  • 网站如何做实名认证做抖音seo排名软件是否合法
  • 网站建设项目实践报告书爱链接
  • 山西太原建站哪家强朋友圈推广怎么收费
  • 精品课程网站建设的背景及意义windows优化大师有哪些功能
  • 网站建设集约化网络运营主要做什么工作
  • 小企业做网站企业seo顾问服务
  • 网站建设步骤详解网络快速排名优化方法
  • 毕业论文 网站开发搜索引擎名词解释
  • 微网站的优势线上怎么做推广和宣传
  • 网站用什么语言做会比较好seo北京
  • 网站 设计 文档2022年免费云服务器
  • 网站开发大学宁波网站推广优化公司电话
  • 自己做网站生意怎么样web网址
  • 官网怎么注册宁波seo的公司联系方式
  • 百度如何把网站做链接百度推广售后
  • 公司网站一般是怎么做百度权重是怎么来的
  • 谷歌官方网站注册上海推广网络营销咨询热线
  • 怎么做app网站ui原型企业品牌推广策划方案
  • 五莲网站建设公司seo问答