模仿SpringMVC抽取一个BaseServlet,接收所有请求,然后自动封装表单参数和分发到对应的servlet执行,下面用一个页面表单提交,转发显示的项目做示例. 1)首先准备一个Entity,用来封装表单提交的参数 package com.qf.entity; public class User { private String name; private String password; private Integer age; public Integer getAge() { re…
好长时间不更博了,主要肚子里没什么好墨水,哈哈.废话不说上代码. public static String httpPostWithJSON(String url) throws Exception { HttpPost httpPost = new HttpPost(url); CloseableHttpClient client = HttpClients.createDefault(); String respContent = null; // json方式 JSONObject jso…
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化,struts2的文件上传下载. 把这几个功能都学会了使用之后,struts2基本上就学完了.所以接下来的文章就是对这几个功能进行讲解.如何使用.…
前言 对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化, struts2的文件上传下载. 把这几个功能都学会了使用之后,struts2基本上就学完了. 一.数据自动封装概述  Struts2提供了一些基于拦截器的数据封装方式,一共有四种,分为 静态参数封装和动态属性封装 动态属性封装又可分为属性驱动和模型驱动 属性驱动又可分为基本属性驱动和对象图导航语言(OGNL,Obj…
一.结果页面配置 1.局部结果页面配置 <!-- 局部结果页面配置--> <package name = "demo" extends = "struts-default" namespace = "/"> <action name = "action1" class = "xxx.xxx.AAction"> <result name = "ok"…
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化,struts2的文件上传下载. 把这几个功能都学会了使用之后,struts2基本上就学完了.所以接下来的文章就是对这几个功能进行讲解.如何使用.…
一.BeanUtils工具类的使用 1.首先导入BeanUtils工具类的jar包 commons-beanutils-1.8.0.jar commons-logging-1.1.1.jar 2.setPropertity(Object bean,String name,Object value)方法 作用:为实体类bean的name属性设置属性值value(属性值为Object类型,可以以其他类型的对象为值) 3.populate(Object bean,Map properties)方法 作…
最近在工作中对 http 的请求参数解析有了进一步的认识,写个小短文记录一下. 回顾下自己的情况,大概就是:有点点网络及编程基础,只需要加深一点点对 HTTP 协议的理解就能弄明白了. 先分享一个小故事:我至今仍清晰地记得大三实习时的第一个工作任务,我需要调用其他部门提供的 api 去完成某项业务. 那个 api 文档只告诉了我请求参数需要传什么,没有提及用什么方式传,比如这样: 其实如果有经验的话,直接在请求体或 url 里填参数试一下就知道了:另一个是新人有时候不太敢问问题,其实只要向同事确…
在http服务里,header参数和表单参数是经常使用到的,本文主要是练习在Go语言里,如何解析Http请求的header里的参数和表单参数,具体代码如下: package server import ( "net/http" "strconv" "fmt" ) func HttpStart(port int) { http.HandleFunc("/hello", helloFunc) err := http.ListenA…
统一修改表单参数(表单提交的空字符串统一转null) 1.介绍: 我们业务中有时会遇到提交的表单中某个参数为空字符串,导致后台接受的为空字符串("")而不是我们理想中的null,会增加一些不必要的处理.本文介绍通过过滤器filter统一修改表单参数. <form method="post" action="/post"> <input type="text" name="name" val…