스프링 메시지 변환기의 예제 코드
//domain
package com.crazy.goods.tools;/** * 0755-351512 * @author Administrator * */public class Phone {private String qno;private String number;public String getQno() {return qno; }public void setQno(String qno) {this.qno = qno; }public String getNumber() {return number; }public void setNumber(String number) {this.number = number; } }
//메시지 변환기 추상 클래스 AbstractHttpMessageConverter
package com.crazy.goods.tools;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import org.springframework.http.HttpInputMessage;import org.springframework.http.HttpOutputMessage;import org.springframework.http.converter.AbstractHttpMessageConverter;import org.springframework.http.converter.HttpMessageNotReadableException;import org.springframework.http.converter.HttpMessageNotWritableException;public class MyMessageConvertor extends AbstractHttpMessageConverter<Phone> {/** * 将请求头数据转换成Phone */ @Overrideprotected Phone readInternal(Class<? extends Phone> arg0, HttpInputMessage msg) throws IOException, HttpMessageNotReadableException {//参数必须使用post提交必须在body中InputStream is=msg.getBody(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); String param=br.readLine(); String phone=param.split("=")[1]; Phone phoneObj=new Phone(); phoneObj.setQno(phone.split("-")[0]); phoneObj.setNumber(phone.split("-")[1]);return phoneObj; }/** * 当前的转换器支持转换的类 */@Overrideprotected boolean supports(Class<?> arg0) {if(arg0==Phone.class){return true; }return false; }/** * 用于将返回的对象转换成字符串显示在网页 */@Overrideprotected void writeInternal(Phone phone, HttpOutputMessage arg1)throws IOException, HttpMessageNotWritableException { String p=phone.getQno()+"-"+phone.getNumber(); arg1.getBody().write(p.getBytes("UTF-8")); } }
//springmvc.xml을 구현하려면 Bean: 메시지 변환기를 구성하려면 사후 제출 방법만 변환기에 의해 차단됩니다
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/context http://www.springframework.org/schema/tx http://www.springframework.org/schema/aop http://www.springframework.org/schema/mvc "> <!--springmvc只能扫描控制层 --> <context:component-scan base-package="com.crazy.goods"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/> </context:component-scan> <!--消息转换器 必须使用post提交 --> <mvc:annotation-driven> <mvc:message-converters> <bean class="com.crazy.goods.tools.MyMessageConvertor"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/x-www-form-urlencoded</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> </beans>
servlet 테스트
<br>
package com.crazy.goods.servlet;
<br>
import java.io.IOException;
<br>
import javax.servlet.ServletException;<br>import javax.servlet.annotation.WebServlet;<br>import javax.servlet.http.HttpServlet;<br>import javax.servlet.http.HttpServletRequest;<br>import javax.servlet.http.HttpServletResponse;
<br>
import org.springframework.stereotype.Controller;<br>import org.springframework.web.bind. annotation.PathVariable;<br>import org.springframework.web.bind.annotation.RequestBody;<br>import org.springframework.web.bind.annotation.RequestMapping;<br>import org.springframework.web.bind.annotation.RequestMethod;<br>import org. springframework.web.bind.annotation.ResponseBody;
<br>
import com.crazy.goods.tools.Phone;
<br>
/**<br> * @author Administrator<br> * 생성일: 2017년 7월 1일 오후 3:11:27<br>*/<br>@Controller<br>public class ReservePageServelt {
<br>
// /* *<br>// * 전달: 전달 <br>// * 리디렉션: 리디렉션 <br>// * @param req<br>// * @param resp<br>// * @return<br>// * @throws ServletException<br>// * @throws IOException<br> / /*/<br>// @RequestMapping(value="/add",method={RequestMethod.GET})<br>// public String doGet(HttpServletRequest req, HttpServletResponse resp/*,@PathVariable("testid") String testid*/)는 ServletException, IOException을 발생시킵니다. {<br>// req.getRequestDispatcher("/reversegood.jsp").forward(req, resp);<br>// return "/reversegood.jsp";<br>// resp.getWriter() .print(testid);<br>// }<br><br><br> //메시지 변환기 아이디어, <br><br> //요청 본문이나 요청 헤더 데이터를 액션 메서드의 매개변수로 변환하는 동시에 메서드의 반환 값 내용 응답 헤더의 경우 <br> //URL 경로에 액세스하면 @RequestBody 주석이 사용되는 것을 볼 수 있습니다. 이 주석은 이 클래스가 메시지 변환기에 의해 처리되고 메시지 변환기가 처리된다는 것을 나타냅니다. springmvcxml 파일을 읽고 지원 메소드를 입력합니다. <br> / /이 클래스가 지정된 변환기에서 지원되는지 확인합니다. 지원되는 경우 readInternal 메소드를 호출하고 절단을 수행한 후 해당 값을 객체에 전달합니다. 객체로 완료되면 writeInternal이 호출되어 응답 헤더로 변환됩니다<br> @RequestMapping(value ="/add")<br> @ResponseBody<br> public Phone messageConvertor( @RequestBody Phone,HttpServletResponse response) {<br> System.out.println (phone.getQno()+phone.getNumber());<br> returnphone;<br><br> } <br><br>}
<br>
요약: 메시지 변환기의 원리는 요청 본문 데이터를 형식 매개변수(객체)로 사용자 정의하는 것입니다. ), 그런 다음 메서드의 반환 값 내용을 응답 헤더로 변환합니다.
단계:
URL 경로에 액세스하면 @RequestBody 주석이 사용되는 것을 볼 수 있습니다. 이 주석은 이 클래스가 메시지에 의해 처리된다는 것을 나타냅니다. 메시지 변환기는 springmvcxml 파일에서 읽혀지고, 변환기가 이를 지원하는지 확인하기 위해 지원 메소드가 입력됩니다. <br>
객체에 대한 처리가 완료된 후 writeInternal이 호출되어 응답 헤더로 변환됩니다.위 내용은 스프링 메시지 변환기의 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











메시지가 전송되었지만 상대방이 거부했습니다. 이는 보낸 정보가 장치에서 성공적으로 전송되었지만 어떤 이유로 상대방이 메시지를 받지 못했음을 의미합니다. 보다 구체적으로 말하면, 이는 일반적으로 상대방이 특정 권한을 설정하거나 특정 조치를 취함으로써 귀하의 정보가 정상적으로 수신되지 않는 경우가 많습니다.

iPhone의 iMessage에서 밀어서 답장하는 방법 참고: 밀어서 답장 기능은 메시지 앱의 일반 SMS 대화가 아닌 iOS 17의 iMessage 대화에서만 작동합니다. iPhone에서 메시지 앱을 엽니다. 그런 다음 iMessage 대화로 이동하여 답장하려는 iMessage를 오른쪽으로 스와이프하면 됩니다. 이 작업이 완료되면 선택한 iMessage에 초점이 맞춰지고 다른 모든 메시지는 배경에서 흐려집니다. 답장을 입력하기 위한 텍스트 상자와 체크인, 장소, 스티커, 사진 등과 같은 iMessage 앱에 접근하기 위한 "+" 아이콘이 표시됩니다. 메시지를 입력하시면 됩니다.

iOS17에서 Apple은 다른 Apple 사용자와 더욱 창의적이고 재미있게 소통할 수 있도록 메시지 앱에 몇 가지 새로운 기능을 추가했습니다. 기능 중 하나는 이모티콘을 스티커로 사용할 수 있는 기능입니다. 스티커는 수년 동안 메시지 앱에 사용되었지만 지금까지는 크게 바뀌지 않았습니다. iOS17에서는 Apple이 모든 표준 이모티콘을 스티커로 취급하여 실제 스티커와 동일한 방식으로 사용할 수 있기 때문입니다. 이는 본질적으로 더 이상 대화에 삽입하는 데 국한되지 않는다는 것을 의미합니다. 이제 메시지 풍선의 어느 곳으로나 드래그할 수도 있습니다. 서로 쌓아서 작은 이모티콘 장면을 만들 수도 있습니다. 다음 단계는 iOS17에서 작동하는 방식을 보여줍니다.

1. 블랙리스트에 추가됨: 메시지가 전송되었지만 상대방이 거부했습니다. 일반적으로 블랙리스트에 등록된 상태에서는 상대방에게 메시지를 보낼 수 없습니다. 메시지를 받을 수 있습니다. 2. 네트워크 문제: 수신자의 네트워크 상태가 좋지 않거나 네트워크 장애가 있는 경우 메시지가 성공적으로 수신되지 않을 수 있습니다. 이 시점에서 메시지를 다시 보내기 전에 네트워크가 정상으로 돌아올 때까지 기다릴 수 있습니다. 3. 상대방이 방해 금지 모드를 설정한 경우: 수신자가 WeChat에서 방해 금지 모드를 설정한 경우 보낸 사람의 메시지는 일정 시간 동안 알림을 받거나 표시되지 않습니다.

iPhone의 기본 메시지 앱을 사용하면 보낸 문자를 쉽게 편집할 수 있습니다. 이렇게 하면 실수, 구두점을 수정할 수 있으며 텍스트에 적용될 수 있는 잘못된 문구/단어도 자동으로 수정할 수 있습니다. 이번 포스팅에서는 아이폰에서 메시지를 편집하는 방법에 대해 알아 보겠습니다. iPhone에서 메시지를 편집하는 방법 필수: iOS16 이상을 실행하는 iPhone. 메시지 앱에서만 iMessage 텍스트를 편집할 수 있으며, 원본 텍스트를 보낸 후 15분 이내에만 가능합니다. iMessage가 아닌 텍스트는 지원되지 않으므로 검색하거나 편집할 수 없습니다. iPhone에서 메시지 앱을 실행하세요. 메시지에서 메시지를 편집하려는 대화를 선택하세요.

샤오미 14Pro는 뛰어난 성능과 구성을 갖춘 플래그십 모델로, 공식 출시 이후 높은 판매량을 달성했습니다. 예를 들어, 샤오미 14Pro의 많은 작은 기능은 메시지를 표시하도록 설정할 수 있습니다. 기능은 작지만 매우 실용적입니다. 휴대전화를 사용할 때 누구나 다양한 문제에 직면하게 됩니다. 그러면 메시지 화면을 켜도록 Xiaomi 14Pro를 설정하는 방법은 무엇입니까? 메시지 화면을 밝히도록 Xiaomi 14Pro를 설정하는 방법은 무엇입니까? 1단계: 휴대전화의 설정 앱을 엽니다. 2단계: "잠금 화면 및 비밀번호" 옵션을 찾을 때까지 아래로 스와이프하고 클릭하여 들어갑니다. 3단계: "잠금 화면 및 비밀번호" 메뉴에서 "알림 화면 켜기" 옵션을 찾아서 클릭하세요. 4단계: '알림 수신 시 화면 켜기' 페이지에서 스위치를 켜서 활성화합니다.

Vivox100s 출시일 확정! 최근 기술계에서는 Vivox100s에 대한 열풍이 일고 있는데, 많은 기대를 모았던 이 제품이 드디어 출시일을 확정하며 많은 소비자와 기술 마니아들의 기대를 모으고 있습니다. Vivox100s가 이달 말에 공식 출시될 예정이라고 하는데, 많은 기대를 모으고 있는 신제품의 하이라이트는 무엇일까요? Vivox 시리즈의 최신작인 Vivox100s는 공개 이후 많은 주목을 받았습니다.

오늘날 Transformers는 최첨단 자연어 처리(NLP) 및 컴퓨터 비전(CV) 아키텍처의 핵심 모듈입니다. 그러나 표 형식 데이터 분야는 여전히 GBDT(Gradient Boosted Decision Tree) 알고리즘이 지배하고 있습니다. 그래서 이 격차를 해소하려는 시도가 있었습니다. 그 중 최초의 변환기 기반 테이블 형식 데이터 모델링 논문은 2020년에 Huang 등이 출판한 논문 "TabTransformer: Tabular Data Modeling Using Context Embedding"입니다. 이 기사의 목적은 논문 내용에 대한 기본 프레젠테이션을 제공하는 동시에 TabTransformer 모델의 구현 세부 사항을 살펴보고 자체 데이터에 Ta를 구체적으로 사용하는 방법을 보여주는 것입니다.
