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

沈阳市铁西区建设局网站专门做折扣的网站

沈阳市铁西区建设局网站,专门做折扣的网站,网站设计中怎么设置当前元素不可见,微信公众号推广文案文章目录 一、常用注解二、参数传递2.1 基础类型String2.2 复杂类型2.3 RequestParam2.4.路径传参 PathVariable2.4 Json数据传参 RequestBody2.5 RequestHeader 三、方法返回值3.1 void3.2 Stringmodel3.3 ModelAndView 一、常用注解 SpringMVC是一个基于Java的Web框架#… 文章目录 一、常用注解二、参数传递2.1 基础类型String2.2 复杂类型2.3 RequestParam2.4.路径传参 PathVariable2.4 Json数据传参 RequestBody2.5 RequestHeader 三、方法返回值3.1 void3.2 Stringmodel3.3 ModelAndView 一、常用注解 SpringMVC是一个基于Java的Web框架它提供了一系列的注解来简化开发过程。以下是一些常用的SpringMVC注解 Controller: 用于标识一个类为控制器处理用户请求并返回相应的结果RequestMapping:、 用于映射请求URL和处理方法可以用在类级别和方法级别。在类级别上可以指定公共的URL前缀而在方法级别上可以指定具体的URL路径。RequestParam: 用于将请求参数绑定到方法的参数上。可以指定参数的名称、是否必需以及默认值。PathVariable: 用于将URL路径中的变量绑定到方法的参数上。可以指定变量的名称和是否必需。ResponseBody: 用于将方法的返回值直接写入HTTP响应体中而不是通过视图解析器进行渲染。ModelAttribute:用于将请求参数绑定到方法的参数上并将其添加到模型中。可以指定参数的名称和是否必需。SessionAttributes:用于指定模型中的属性应该存储在会话中以便在多个请求之间共享。Valid:用于启用参数的校验功能可以与JSR-303/JSR-349标准的注解一起使用。 这些注解只是SpringMVC中的一部分还有其他很多注解可以用于处理拦截器、异常处理、文件上传等功能。具体使用哪些注解取决于你的需求和项目的架构。 二、参数传递 SLF4JSimple Logging Facade for Java是一个为Java应用程序提供日志记录的简单门面facade框架。它允许开发人员在应用程序中使用统一的API来记录日志而无需关心底层日志实现的细节。SLF4J提供了一种灵活的方式来切换不同的日志实现如Logback、Log4j和java.util.logging等。通过使用SLF4J开发人员可以在不修改应用程序代码的情况下更改日志记录实现从而提供了更好的可维护性和灵活性。 pom.xml log4j2.version2.9.1/log4j2.version log4j2.disruptor.version3.2.0/log4j2.disruptor.version slf4j.version1.7.13/slf4j.version//-------------------------------------------------!--4.log日志相关依赖--!-- log4j2日志相关依赖 -- !-- log配置Log4j2 Slf4j -- !-- slf4j核心包-- dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion${slf4j.version}/version /dependency dependencygroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactIdversion${slf4j.version}/versionscoperuntime/scope /dependency!--核心log4j2jar包-- dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion${log4j2.version}/version /dependency dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion${log4j2.version}/version /dependency !--用于与slf4j保持桥接-- dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-slf4j-impl/artifactIdversion${log4j2.version}/version /dependency !--web工程需要包含log4j-web非web工程不需要-- dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-web/artifactIdversion${log4j2.version}/versionscoperuntime/scope /dependency!--需要使用log4j2的AsyncLogger需要包含disruptor-- dependencygroupIdcom.lmax/groupIdartifactIddisruptor/artifactIdversion${log4j2.disruptor.version}/version /dependency2.1 基础类型String package com.xqx.web;import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;Slf4j Controller RequestMapping(/param) public class ParamController {RequestMapping(/hello1)public String toHello1(Integer bid,String bname){log.info(基础类型String传参bid:{},bname:{},bid,bname);return index;} 2.2 复杂类型 Slf4j Controller RequestMapping(/param)public String hello1(Book book, HttpServletRequest request){//servlet参数获取方式log.info(复杂类型参数bname:{},bid:{},request.getParameter(bid),request.getParameter(bname));//复杂传参log.info(复杂类型参数book:{}, book.toString());return index;}2.3 RequestParam Slf4jControllerRequestMapping(/hello3)public String requestParam(RequestParam String bname,RequestParam(required false) Integer bid) {log.info(requestParam类型参数 bname:{},bid:{}, bname, bid);return index;} 这种参数传递类型如果不传参会报错 被RequestParam注解的参数required默认为true表示请求中一定要传入对应的参数否则会报404错误如果设置为false时当请求中没有此参数将会默认为null,而对于基本数据类型的变量则必须有值这时会抛出空指针异常。如果允许空值则接口中变量需要使用包装类来声明。 2.4.路径传参 PathVariable 如果我要通过id进行删除某一项可以用PathVariable注释 RequestMapping(/hello4/{bid})public String rjcc(PathVariable(bid)Integer bid) {log.info(PathVariable bid:{},bid);return index;} 2.4 Json数据传参 RequestBody 在实际开发中运用最多的就是通过Json数据进行传输SpringMVC默认使用的是jackson来处理json的转换所以需要在pom.xml添加jackson依赖。另外推荐使用postman或者apipost/eolink等工具发送请求数据。 jackson.version2.9.3/jackson.versiondependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion${jackson.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion${jackson.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion${jackson.version}/version/dependency // 能接受json数据前提导入了Jackson依赖没有导入Jackson依赖的话那进不了这个方法RequestMapping(/hello6)public String RequestBody2(RequestBody Map map) {log.info(RequestBody map:{},map);return index;}// 不能接受json数据RequestMapping(/hello5)public String RequestBody1(Map map) {log.info(RequestBody map:{},map);return index;} 2.5 RequestHeader RequestHeader 注解可以用在方法的参数上用于将指定的请求头的值注入到方法参数中。 RequestMapping(/hello7)public String RequestHeader(RequestHeader(jwt) String jwt) {log.info(RequestHeader jwt:{},jwt);return index;}三、方法返回值 为了方便模拟效果借助ResponseUtil工具类ResponseUtil类提供了一种方便的方式来将对象以文本或JSON格式写入HTTP响应流中以便在Web应用程序中向客户端返回数据。 ResponseUtil package com.xqx.util;import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter;public class ResponseUtil {public static void write(HttpServletResponse response,Object o)throws Exception{response.setContentType(text/html;charsetutf-8);PrintWriter outresponse.getWriter();out.println(o.toString());out.flush();out.close();}public static void writeJson(HttpServletResponse response,Object o)throws Exception{ObjectMapper om new ObjectMapper(); // om.writeValueAsString(o)代表了json串write(response, om.writeValueAsString(o));} } 3.1 void Controller RequestMapping(/rs) public class ReturnController {RequestMapping(/hello1)public void hello1(HttpServletResponse response){MapString,Object mapnew HashMap();map.put(code,200);map.put(msg,成功添加...);try {ResponseUtil.writeJson(response,map);} catch (Exception e) {e.printStackTrace();}} 3.2 Stringmodel jsp %--Created by IntelliJ IDEA.User: 86156Date: 2023/9/5Time: 15:49To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headtitleTitle/title /head body 名称${name} 地址${address} /body /html测试 Controller RequestMapping(/rs) public class ReturnController {RequestMapping(/hello2)public String hello2(Model model,HttpServletRequest request){model.addAttribute(name,xqx);request.setAttribute(address,长沙);return index;}}3.3 ModelAndView Controller RequestMapping(/rs) public class ReturnController {RequestMapping(/hello3)public ModelAndView hello3(){ModelAndView mvnew ModelAndView();mv.addObject(xqx,666);mv.setViewName(index);return mv;}}jsp %--Created by IntelliJ IDEA.User: 86156Date: 2023/9/5Time: 17:00To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headtitleTitle/title /head body 名称${name} 地址${address} 评价${xqx} /body /html
http://www.zqtcl.cn/news/805645/

相关文章:

  • seo整站优化报价wordpress网站资源
  • 假冒彩票网站开发仿小刀娱乐wordpress主题
  • 东光做淘宝网站古色古香的网站模板
  • 创建网站得花多少钱福州最好的网站建设
  • mysql asp网站开发企业失信被执行人查询
  • 网站制作完工验收单软件开发模型有哪几种
  • saas建站平台源码wordpress 安装主题 无法创建目录
  • 兰州做高端网站做网站学什么专业
  • dedecms 图片网站模板wordpress省市联动
  • pw域名网站杭州建站官网建设
  • 河北省建设厅网站官网网站js时间代码
  • 网站开发实现编码深圳做网站专业
  • 网站建设电子合同h5网站开发多少钱
  • 邓州做网站投票网站做seo如何
  • 环保网站建设项目备案系统免费虚拟主机空间
  • 网站实现语言转换技术上该怎么做免费下载网页模板
  • 云南网站建设专业品牌网站建设电子商务
  • 保健食品东莞网站建设莱芜金点子信息港交友
  • 小程序视频网站开发网站开发项目预算表
  • 邢台手机网站建设价格iis 手机网站
  • 网站开发流程三大部分微信学校网站模板
  • 网站推荐正能量专业做网站多少钱
  • 网站界面设计总结淘客手机端网站建设
  • 天津网站建设zhy88宁波企业黄页公司黄页
  • 个人网站课程设计报告app免费制作软件中文版
  • 品牌建设网站规划盛唐网站建设
  • 商城网站系统建站平台上建设的网站可以融资吗
  • 怎么查网站空间wordpress快速入门
  • 长沙 网站运营德国服务器网站
  • 有动效网站建网站的书籍