很多时候,由于特殊字符的原因,会造成用户输入的信息反馈到页面上时会显示成乱码,造成页面排版混乱;另外,黑客经常利用特殊字符对网站进行xss跨站攻击,所以我们需要对页面上提交的特殊字符进行html转码。
spring提供了一个工具类,org.springframework.web.util.HtmlUtils,省去了我们写工具类对html中的特殊字符进行过滤的麻烦。以下是对该工具类的使用示例:
import org.springframework.web.util.HtmlUtils; public class HtmpEscapeExample { public static void main(String[] args) { String specialStr = " #测试转义:#<table id=\"testid\"><tr>test1;test2</tr></table>"; // ①转换为HTML转义字符表示 String str1 = HtmlUtils.htmlEscape(specialStr); System.out.println(str1); // ②转换为数据转义表示 String str2 = HtmlUtils.htmlEscapeDecimal(specialStr); System.out.println(str2); //③转换为十六进制数据转义表示 String str3 = HtmlUtils.htmlEscapeHex(specialStr); System.out.println(str3); // ④下面对转义后字符串进行反向操作 System.out.println(HtmlUtils.htmlUnescape(str1)); System.out.println(HtmlUtils.htmlUnescape(str2)); System.out.println(HtmlUtils.htmlUnescape(str3)); } }
另外,如果直接是用户输入的地方,可以直接过滤,但如果管理员用编辑器来编辑,就会有本来对应格式的HTML呗,这样的话,一般就过滤一些特殊标签,比如<script>,肯定是不能用的。还有就是一些触发事件选项,比如<img src="" onerror=""> 中的onerror就要过滤掉,不能在img标签中出现,单独的<img src="">这样可以;一般大型公司对链接里的触发事件会做一些过滤,比如一般你输入<a href="" onmouseover="">,就只剩下<a href="">。
相关推荐
在本篇文章中,我们将深入探讨`org.springframework.web`包中的关键概念,特别是`ServerEndpointExporter`类在WebSocket服务器端点中的作用。 首先,让我们了解`org.springframework.web`包的基本构成。这个包主要...
`org.springframework.util`则包含了一系列通用的工具类,如对象处理、集合操作、字符串处理等,极大地提升了开发效率。 2. **资源管理**:`org.springframework.core.io`包定义了资源接口,统一了文件、URL、输入/...
<listener-class>org.springframework.web.util.Log4jConfigListener ``` 以上就是Spring项目中配置log4j的基本步骤和关键知识点。通过合理配置,我们可以实现日志的高效管理和监控,从而提升开发和运维的效率。
1. org.springframework.util.StringUtils 工具类用于判断字符串非空,常用的方法有 isEmpty()、hasText() 等。 2. org.springframework.util.CollectionUtils 工具类用于判断 List 和 Map 集合的非空,常用的方法有...
- `org.springframework.core-3.0.5.RELEASE.jar`:Spring框架的基础模块,包含核心工具类和基础接口。 3. **事务管理**: - `org.springframework.transaction-3.0.5.RELEASE.jar`:提供了声明式和编程式事务...
org.springframework.web.client.AsyncRestTemplate org.springframework.web.client.RestTemplate HTTP请求工具类,基于以上两个Rest请求工具模板完成封装HTTP请求,包括同步和异步请求的实现。
7. **org.springframework.core**和**org.springframework.util**:包含Spring框架的基础工具类和通用功能,如反射、集合操作、日期时间处理等。 通过阅读这些源码,你可以了解到Spring如何通过反射和动态代理实现...
9. **`org.springframework.web.util.UriComponentsBuilder`** 这是一个用于构建URI的工具类,它可以方便地组合路径、查询参数等,创建完整的URI。例如,`UriComponentsBuilder.fromHttpUrl("http://example.com")....
6. **Spring核心工具类**:`org.springframework.core` 和 `org.springframework.util` 包提供了许多实用工具类,如反射、集合操作、日志记录等。 7. **测试支持**:Spring提供了对JUnit和其他测试框架的集成,使...
在`org.springframework.jdbc`和`org.springframework.orm`包中,我们可以找到相关的工具类和抽象层,帮助开发者处理数据库操作。 4. **Web支持**:对于Web应用程序,Spring提供了MVC框架,使得开发RESTful API或...
6. `org.springframework.core-3.0.7.RELEASE.jar`: 核心工具类库,提供了许多基础的、通用的功能,比如类型转换、反射、集合操作等,是Spring其他模块依赖的基础。 7. `org.springframework.aop-3.0.7.RELEASE.jar...
这可以通过在构建工具(如Maven或Gradle)的依赖管理中声明库,或者直接将jar文件复制到项目类路径下的lib目录来完成。然后,通过导入相关的类和方法,你就可以在代码中使用Base64Utils的功能了。 总的来说,`base...
4. **MVC(Model-View-Controller)**:Spring MVC是Spring提供的Web应用开发模块,它简化了构建RESTful服务和Web应用的过程,包括模型绑定、视图解析、异常处理等功能。 5. **交易管理**:Spring的交易管理模块...
import org.springframework.web.multipart.MultipartHttpServletRequest; import java.util.List; @RestController public class FileUploadController { @PostMapping("/upload") public ResponseEntity...
3. `org.springframework.core-3.0.6.RELEASE.jar`: 核心模块,提供了Spring框架的基础工具类和基本数据类型,比如类型转换系统、泛型处理、反射工具类等,这些都是Spring框架其他部分的重要依赖。 4. `org.spring...
import org.springframework.web.multipart.MultipartHttpServletRequest; import java.util.List; @Controller public class FileUploadController { @PostMapping("/uploadSingle") public ResponseEntity...
总结来说,Spring的`org.springframework.scheduling`包提供了一套强大的异步任务和定时任务管理工具。开发者可以通过配置`TaskExecutor`和`TaskScheduler`,以及使用`@Async`、`@Scheduled`注解,灵活地设计和实现...
`Spring Timer`是Spring框架提供的一个简单任务调度工具,它基于Java的`java.util.Timer`类。通过`@Scheduled`注解,开发者可以在Spring应用上下文中声明一个方法为定时任务。例如: ```java import org.spring...
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> ``` 6. **创建...
import org.springframework.web.context.support.SpringBeanAutowiringSupport; public class SpringWiredBean extends SpringBeanAutowiringSupport { @Autowired private static BeanFactory beanFactory; /...