日志

1.使用门面模式的slfj,并结合log4j,logback。

2.info、debug、error,要写清楚。

3.使用占位符,如下:

    log.info("用户id为: {} ", id);

4.提前判断,提高效率:

 if (log.isDebugEnabled()) {
log.debug("Committing JDBC Connection [" + connection + "]");
}

Controller层

Request

1.获取并打印request的body中的参数。

这种获取请求中代码,一般都会封装成工具类。

如果不封装,写起来比较麻烦,类似如下:

        JSONObject res = new JSONObject();
String postData = null;
try {
postData = IOUtils.toString(request.getInputStream(), "UTF-8");
} catch (IOException e) {
//错误参数,自行定义。
res.put(ResultCode.H_CODE, ResultCode.DEAL_FAIL_1301);
res.put(ResultCode.H_DESCRIPTION,ResultInfo.DEAL_FAIL_1301);
return res ;
}
logger.info("请求参数为:" + postData );

2.获取并打印GET请求的参数。

一般来说,GET请求的参数,都会放在Url后面,而不会放在body里面。

主要是用request.getQueryString() 获取参数。

    	@RequestMapping(value="/user/id/query", method = RequestMethod.GET)
public BaseResult invoiceExport(HttpServletRequest request, HttpServletResponse response) throws Exception{
logger.info("查询用户id对应的用户信息...");
logger.info("请求参数:"+request.getQueryString() );
}

Response

1.通过Response返回文本或图片等信息给前端。

比如前端通过GET请求,获取后端生成的图片。

@RequestMapping(value="/image", method = RequestMethod.GET)
public void getImage(HttpServletRequest request, HttpServletResponse response) {
// Image image=...;
response.getWrier().print(image);
}

Session

1.从session中取出openId等用户信息:

Object openId = request.getSession().getAttribute(Constant.SESSION_FWH_MINI_USER);    //从session中取出openid

注意:也可以使用: HttpSession session=request.getSession();

2.sessionId作为不同的缓存的key或标识符。

//从请求的参数中取出sessionId
String sessionId=paramJson.getString("sessionId");
//检查验证码是否正确
String code = stringRedisTemplate.opsForValue().get(Constant.SESSIONID_PREFIX + sessionId);

其他

1.解码:

String eid = URLDecoder.decode(request.getParameter("eid"),"UTF-8");

常见的比如sessionId可能存在特殊字符,就可以使用URLDecoder进行处理。

待补充。

java web开发及Servlet常用的代码的更多相关文章

  1. java web 开发入门 --- tomcat/servlet/jsp

    在做java web 开发时,要先安装tomcat.它是一个web服务器,也叫web容器,我们把写好的jsp, html页面放到它里面,然后启动它,就可以用浏览器访问这些页面,地址栏中输入localh ...

  2. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  3. java web开发中常用的协议的使用和java-web 常见的缓冲技术

    一.DNS协议 作用将域名解析为IP   类似于我们只需要知道中央一台,中央二台,而不需要知道它的频率,方便记忆. java dns 域名解析协议实现 1 域名解析,将域名可转换为ip地址InetAd ...

  4. 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener

    [Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ...

  5. 【Java Web开发学习】Servlet、Filter、Listener

    [Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...

  6. 个人的java web开发书单

    首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...

  7. day04 Java Web 开发入门

    day04 Java Web 开发入门 1. web 开发相关介绍 2. web 服务器 3. Tomcat服务器启动的问题 4. Tomcat目录结构 5. Web应用程序(虚拟目录映射,缺省web ...

  8. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  9. java web 开发三剑客 -------电子书

    Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...

随机推荐

  1. 79.mobile/js---手机端分享调用功能的实现(只能在真机上测试有效)

    html:<a href="javascript:void(0);" class="all-share" onclick="call('defa ...

  2. Sign in with apple

    UI: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/ 审核: h ...

  3. zookeeper 事务日志查看

    在version下的日志是二进制文件,查看需要转换 创建/data/middleware/zookeeper-3.4.14/translog.sh 脚本 格式化命令: java -classpath ...

  4. manjaro中微信不能输入中文及微信窗口出现透明轮廓的问题

    一.在安装deepin-wine-wechat后,无法切换成中文输入法.网上查找资料,在配置中添加 export 等 均未成功. 后来在官方(https://aur.archlinux.org/pac ...

  5. 个人第5次作业-Alpha2项目的测试

    这个作业属于哪个课程 系统分析与设计 这个作业要求在哪里 作业要求 团队名称 卓越Code 这个作业的目标 选取3个非自己所在团队进行项目测试,协助该团队进行项目改进 前言 魏家田 201731062 ...

  6. Centos7服务器搭建部署显卡计算环境以及常用软件的安装使用

    安装好anaconda的服务器上会more你已经安装好jupyter notebook,执行下面的命令可以提供链接地址允许远程浏览器打开并访问: jupyter notebook --no-brows ...

  7. kubectl kubernetes cheatsheet

    from : https://cheatsheet.dennyzhang.com/cheatsheet-kubernetes-a4 PDF Link: cheatsheet-kubernetes-A4 ...

  8. hibernate笔记

    1.hibernate中的list()遍历方法和iterator()遍历方法之间的区别 1:返回的类型不一样,list()返回List, iterate()返回Iterator,2: 获取数据的方式不 ...

  9. LeetCode 1046. Last Stone Weight

    原题链接在这里:https://leetcode.com/problems/last-stone-weight/ 题目: We have a collection of rocks, each roc ...

  10. file 的类型 input

    上传你选择的文件和相关信息.在 HTML 文档中 <input type="file"> 标签每出现一次,一个 FileUpload 对象就会被创建.该元素包含一个文本 ...