map转bean

  1. <dependency>
  2. <groupId>commons-beanutils</groupId>
  3. <artifactId>commons-beanutils</artifactId>
  4. <version>1.9.4</version>
  5. </dependency>

使用方式
Website website = new Website();
BeanUtils.populate(website,request.getParameterMap());

html的资源文件不要写相对路径,否则在转发的时候会有问题。

  1. <% request.setAttribute("ctx", request.getContextPath()); %>
  2. <link rel="icon" href="${ctx}/img/favicon.png" >

获取get请求参数里面所有id的值,例如http://host:port/?id=a&id=b&id=c

  1. String[] idStrs = request.getParameterValues("id");

Java对象转JSON对象,JSON对象是有标准的,有严格的写法。JS对象有很多写法,其中有一个写法可以是JSON对象。

JSON对象

  1. const person = {
  2. "name":"lff",
  3. "age":10
  4. }

下面都是JS对象

  1. const person = { //JSON的写法
  2. "name":"lff",
  3. "age":10
  4. }
  5. const person = {
  6. name:"lff",
  7. age:10
  8. }
  9. const person = {
  10. 'name':"lff",
  11. 'age':10
  12. }

我们可以把Java对象转JS对象,只要重写toString方法进行拼接成JSON就行了,有很多第三方库干这个事情。这里有个比较好用的

  1. <dependency>
  2. <groupId>com.fasterxml.jackson.core</groupId>
  3. <artifactId>jackson-databind</artifactId>
  4. <version>2.11.0</version>
  5. </dependency>

使用方式

  1. @Override
  2. public String toString() {
  3. try {
  4. return new ObjectMapper().writeValueAsString(this);
  5. } catch (JsonProcessingException e) {
  6. e.printStackTrace();
  7. }
  8. return null;
  9. }

如果用户请求路径出错会报404,对于常见错误码404、500等我们可以给用户重定向错误提示页面,需要在/webapp/WEB-INF/web.xml中配置,

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5. version="4.0">
  6. <!-- 配置404页面 -->
  7. <error-page>
  8. <error-code>404</error-code>
  9. <!-- jsp页面位置 -->
  10. <location>/WEB-INF/404.jsp</location>
  11. </error-page>
  12. <!-- 配置500页面 -->
  13. <error-page>
  14. <error-code>500</error-code>
  15. <location>/WEB-INF/500.jsp</location>
  16. </error-page>
  17. </web-app>