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

国内网站开发平台哪家强三亚百度推广开户

国内网站开发平台哪家强,三亚百度推广开户,建站公司一般用什么框架,网站建设可以使用模板么1.Restful 风格 概念: 实现方式: 使用PathVariable 在url相同的情况下,会根据请求方式的不同来执行不同的方法。 使用RestFull风格的好处:简洁、高效、安全 2、接受请求参数及数据回显 2.1、请求参数 方式一:这里…

1.Restful 风格

概念:

实现方式:

使用@PathVariable

在url相同的情况下,会根据请求方式的不同来执行不同的方法。

使用RestFull风格的好处:简洁、高效、安全

2、接受请求参数及数据回显

2.1、请求参数

方式一:这里的@RequestParam("username")意思是,将前端用username="xxx"的值传到name变量里。

 方式二:当接受的对象是一个对象时,那我们在前端传入的变量名应与实体类中的名字保持一致,否则就为null

 2.2、数据回显

也有三种方式,分别是Model,ModelMap,ModelAandView

这个是第三种的。

 tips:

3、乱码问题

我以为我的配置是最优的,结果... 果然,人就是不能乱飘。

先建个包,再建个类,专门用于存放过滤器的代码,用以解决乱码的问题。代码如下:

package com.zhang.Filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;public class GenericEncodingFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException, IOException {//处理response的字符编码HttpServletResponse myResponse=(HttpServletResponse) response;myResponse.setContentType("text/html;charset=UTF-8");// 转型为与协议相关对象HttpServletRequest httpServletRequest = (HttpServletRequest) request;// 对request包装增强HttpServletRequest myrequest = new MyRequest(httpServletRequest);chain.doFilter(myrequest, response);}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}}//自定义request对象,HttpServletRequest的包装类
class MyRequest extends HttpServletRequestWrapper {private HttpServletRequest request;//是否编码的标记private boolean hasEncode;//定义一个可以传入HttpServletRequest对象的构造函数,以便对其进行装饰public MyRequest(HttpServletRequest request) {super(request);// super必须写this.request = request;}// 对需要增强方法 进行覆盖@Overridepublic Map getParameterMap() {// 先获得请求方式String method = request.getMethod();if (method.equalsIgnoreCase("post")) {// post请求try {// 处理post乱码request.setCharacterEncoding("utf-8");return request.getParameterMap();} catch (UnsupportedEncodingException e) {e.printStackTrace();}} else if (method.equalsIgnoreCase("get")) {// get请求Map<String, String[]> parameterMap = request.getParameterMap();if (!hasEncode) { // 确保get手动编码逻辑只运行一次for (String parameterName : parameterMap.keySet()) {String[] values = parameterMap.get(parameterName);if (values != null) {for (int i = 0; i < values.length; i++) {try {// 处理get乱码values[i] = new String(values[i].getBytes("ISO-8859-1"), "utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}}}}hasEncode = true;}return parameterMap;}return super.getParameterMap();}//取一个值@Overridepublic String getParameter(String name) {Map<String, String[]> parameterMap = getParameterMap();String[] values = parameterMap.get(name);if (values == null) {return null;}return values[0]; // 取回参数的第一个值}//取所有值@Overridepublic String[] getParameterValues(String name) {Map<String, String[]> parameterMap = getParameterMap();String[] values = parameterMap.get(name);return values;}
}

然后再在web.xml中进行相关配置

<filter><filter-name>encoding</filter-name><filter-class>com.zhang.Filter.GenericEncodingFilter</filter-class></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>

4、JSON

4.1、概念:

 在前端页面json和js对象的相互转换:

 4、JSON

这里需要注意的是@RestController 注解会自动将返回值转换为JSON或XML格式的响应。

4.1、注解RestController和Controller的区别如下:

 注意@RestController=Controller+ResponseBody,二者可以组合起来搭配使用。用RestController注解返回的就只是一个JSON风格的字符串。

 4.2、一个小案例

我的jdk版本是1.8。

1.建立一个实体类User。

package com.zhang.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data  //需要导入lomb的相关依赖
@AllArgsConstructor //有参构造
@NoArgsConstructor  //无参构造
public class User {private String name;private int age;private String sex;
}

2.导入pom.xml的相关依赖。

<!--依赖--><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.4</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.8</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.26</version><scope>compile</scope></dependency></dependencies><!--资源过滤--><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build>

3.在springmvc-servlet.xml中导入相关的解决json乱码的问题。

 <!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 --><context:component-scan base-package="com.zhang.controller"/><!-- 让Spring MVC不处理静态资源 例如:.html  .js  .css等,让他们不用走视图解析器了,影响效率--><mvc:default-servlet-handler /><!--支持mvc注解驱动在spring中一般采用@RequestMapping注解来完成映射关系要想使@RequestMapping注解生效必须向上下文中注册DefaultAnnotationHandlerMapping和一个AnnotationMethodHandlerAdapter实例这两个实例分别在类级别和方法级别处理。而annotation-driven配置帮助我们自动完成上述两个实例的注入。--><mvc:annotation-driven /><!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!-- 前缀 --><property name="prefix" value="/WEB-INF/jsp/" /><!-- 后缀 --><property name="suffix" value=".jsp" /></bean><!--解决json乱码的问题--><mvc:annotation-driven><mvc:message-converters register-defaults="true"><bean class="org.springframework.http.converter.StringHttpMessageConverter"><constructor-arg value="UTF-8"/></bean><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="objectMapper"><bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"><property name="failOnEmptyBeans" value="false"/></bean></property></bean></mvc:message-converters></mvc:annotation-driven>

4.在web.xml中导入相关依赖。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--1.注册servlet--><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--通过初始化参数指定SpringMVC配置文件的位置,进行关联--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><!-- 启动顺序,数字越小,启动越早 --><load-on-startup>1</load-on-startup></servlet><!--所有请求都会被springmvc拦截 --><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping><filter><filter-name>encoding</filter-name><filter-class>com.zhang.Filter.GenericEncodingFilter</filter-class></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>

5.建立一个controller类进行测试就可以了

import com.zhang.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserController {@RequestMapping("/json1")public String json1() throws JsonProcessingException {ObjectMapper mapper=new ObjectMapper();User user=new User("章鱼卷",1,"女");String str=mapper.writeValueAsString(user);return str;}
}

6.EEROR 记得lib下要导入相关的jar包呀,不然会报500的错的

 5、ssm整合:Mybatis层

学习就是苦中作乐,加油呀!我还有4天就开学了,呜呜呜,好快!

http://www.hengruixuexiao.com/news/23168.html

相关文章:

  • 做视频找素材的网站有哪些宁波seo网络推广咨询价格
  • 梅州市住房和城乡建设局官方网站关键词网站排名查询
  • 丹东有做公司网站的吗推广普通话手抄报简单
  • 怎么制作自己的免费网站百度下载安装免费版
  • 图库网站源码下载seo百度快速排名
  • 自己做社交网站吗磁力多多
  • 如何找外包网站来做如何建立一个网站平台
  • 关于网站建设的电话销售话术网络推广项目计划书
  • 最简单的cms网站怎么做今日重大新闻事件
  • 武汉网站建设哪家好目前主流搜索引擎是哪种
  • 编辑目录中的字体wordpressseo网络推广课程
  • 网站建设南通谷歌seo网站推广怎么做
  • 北京建设银行招聘网站百度竞价课程
  • 网站专题页面用什么做seo关键词排名优
  • 做网站需要哪种工程师关键少数
  • 南京建筑人才招聘网360优化关键词
  • 太平洋网站开发北京网站建设公司优势
  • 建站公司生存难自媒体平台收益排行榜
  • wordpress如何导入模板数据库西安seo培训
  • 手机网站设计需要学什么企业管理软件
  • 分销商城小程序百色seo外包
  • 铜川北京网站建设郑州网站推广效果
  • 做简历用什么网站优化防控举措
  • 个体户做网站有优势吗全国各城市疫情高峰感染高峰进度
  • ppt代做网站电商平台引流推广
  • 资讯网站怎么做软文网
  • 通州区网站建设软文推广渠道
  • 青海省建设监理协会网站seo关键词库
  • 大理州建设局网站门户网百度资源
  • 自己做代练网站长春网站建设公司哪个好