javaweb
文章平均质量分 75
Benson_CSU
熟悉Java平台开发,对Spring生态系统、MyBatis、Activiti等框架有所涉猎。喜好研究各种新兴技术。
熟悉Android开发
展开
-
struts2配置
struts.xml: "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> /member/Active.jsp /Register原创 2016-08-19 00:37:40 · 190 阅读 · 0 评论 -
SpringMVC大坑之PUT方法接收不到请求参数
搞到晚上12点,SpringMVC老是接收不到put请求提交的参数,用于更新用户信息,Restful风格接口,我也不知道为什么SpringMVC要这样设计,百度后在博客中看到可以在web.xml文件中配置一个http put method的过滤器来解决。 HttpMethodFilter org.springframework.web.filter.HttpPutFor原创 2018-01-22 00:21:17 · 1856 阅读 · 0 评论 -
Spring Boot学习——Spring Boot相关概念
Spring Boot相关概念 前面的JavaWeb项目的例子,几乎全部基于Spring。Spring对于JavaWeb开发确实是一场革命性的进步,把开发者从EJB的重量级中解放出来。Spring为大多数业务场景都提供了解决方案,但Spring还是需要很多配置和依赖,特别是依赖,如果版本不兼容,还可能会产生一些很难检查出来的异常。不是说这些库的设计者不想兼容,而是有时候项目太过复杂原创 2018-01-31 12:19:11 · 1472 阅读 · 0 评论 -
Netty学习——用Netty实现一个简单的Http服务器
用Netty实现一个简单的Http服务器 Netty默认实现了Http的请求解析与响应封装,可以很方便地利用这些已经利用好的处理器来实现一个简单的Http服务器,或者自己实现更加复杂的Http服务器逻辑。下面是我用Netty实现的一个可以接收Http get或post请求的http服务器,并且可以解析出请求参数,然后生成一个页面,显示出请求参数。package study.net原创 2018-01-26 16:23:46 · 5738 阅读 · 0 评论 -
Netty学习——基于Netty的WebSocket协议开发
基于Netty的WebSocket协议开发WebSocket简介 Java的Socket是Java网络编程的基础,Java的Socket是在应用层的,这和C/C++的Socket不同,C/C++的Socket是可以获取TCP头数据的。Socket是一种全双工的通信方式,也就是说通信双方可以同时互发消息,也叫CS模式,而HTTP协议是一种无状态协议,是基于BS模式的,服务器不能原创 2018-01-27 21:39:54 · 2644 阅读 · 0 评论 -
Spring Security学习——核心原理
Spring Security学习——核心原理 Spring Security是Spring生态系统的一个安全组件,而且和Spring MVC整合非常方便。Spring Security最基本的原理是基于J2EE的拦截器原理,拦截器会形成一个拦截器链,这是一种责任链设计模式。Spring Security使用实现的一些拦截器来对访问的url进行拦截,通过对缓存中的角色进行相应判定后决原创 2018-01-29 16:47:21 · 445 阅读 · 0 评论 -
Spring Security学习——入门例子
Spring Security学习——入门例子 Spring Security的maven依赖如下 org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version}原创 2018-01-29 19:14:21 · 871 阅读 · 0 评论 -
Spring Security学习——基于角色的权限验证
基于角色的权限验证 在现实世界中,不能的角色对应着不同的权限,比如说用户可以访问用户的模板,但不能访问到后台,管理员可以访问到后台的管理模板,而只有数据库管理员才能直接访问到数据底层管理,比如说一些登录日志和私密数据。Spring Security框架支持基于角色的权限验证,可以在系统中添加多种角色,用户权限验证登陆时,就可以根据输入的登陆信息,判断出输入的用户需要哪个角色,然后根原创 2018-01-29 22:03:36 · 2995 阅读 · 1 评论 -
Spring Security学习——自定义数据源的用户权限验证
自定义数据源的用户权限验证 Spring Security框架提供的基于角色的权限验证,能够解决大部分业务场景的权限问题。但真实的业务场景大部分都是动态的用户,比如说可能会有新用户注册进来,而新用户也要分配相应的角色权限,并且权限的用户名和密码也是用户自定义的,这就要求Spring Security框架能够提供动态的用户信息验证。 前面就说过了,Spring Sec原创 2018-01-29 23:39:54 · 881 阅读 · 0 评论 -
Spring Security学习——基于Java注解的Spring Security配置
基于Java注解的Spring Security配置 Spring在早期版本的时候,全是基于xml配置文件,导致配置极其繁杂。后期的版本中,Spring提供了对基于Java注解的支持。Java注解的Spring使每个Bean类有了自配置的特性,通过在每个类中添加相应的Java注解,就可以标注这些类在系统中的功能,可以大大减少配置文件的管理。当然,Java注解的Spring也原创 2018-01-30 14:52:58 · 969 阅读 · 0 评论 -
一步步实现WebServer中间件——Servlet的封装
Servlet是Tomcat定义的,在Tomcat架构中一个Servlet就相当于一个请求资源,浏览器发出Http请求,当然,不一定就是Http协议的请求,就拿Http协议的Servlet举例,Tomcat会把请求封装成一个ServletRequest对象,同时会生成一个ServletResponse对象,然后交由Servlet的service处理,service接收一个ServletReques原创 2018-01-12 21:11:44 · 736 阅读 · 0 评论 -
一步步实现WebServer中间件——Http协议
要说Http协议就不得不先一下计算机网络的OSI网络七层协议,从上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层应用层:是最靠近用户的OSI层,这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务,包括TELNET,HTTP,FTP,NFS,SMTP等协议表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如原创 2017-11-17 00:12:10 · 564 阅读 · 0 评论 -
request封装
自己开发javaweb服务器原创 2016-08-23 01:16:17 · 892 阅读 · 0 评论 -
Spring源码学习-spring data jpa源码分析
我先从spring project的git上下载了Spring的源码Spring data jpa的源码在Spring project的spring-orm/src/main/java/org/springframework/orm/jpa里这是jpa文件夹结构最基础的一个接口是org.springframework.data.repository.Re原创 2017-09-07 02:28:10 · 3478 阅读 · 5 评论 -
Spring学习——关于Spring jpa data遇到的坑
最近实训项目用JavaEE写后台,感觉Spring已经很强大了。在以前用过一段时间 的Sping的JdbcTemplate做数据访问层接口,但总感觉封装得不够好,用起来感觉就像是简单地把jdbc用面向对象封装了一层,用起来很不顺手,于是就转到了Spring jpa data上来了,这次项目,数据访问层的底层主要用Hibernate,然后用Spring jpa去封装Hibernate,开始用起来还是原创 2017-09-26 16:53:38 · 330 阅读 · 0 评论 -
spring源码与架构分析——Spring框架的一些理解
在下才疏学浅,对spring架构的理解还处于初级阶段,写spring源码与架构分析只是午夜失眠记录一下自己对spring的个人理解而已,如有错误还请诸位博友见谅并指点一二。从大一就开始学习Spring了,到现在也已经有两个多的年头了,也有很多个项目中使用到了Spring生态系统中的很多项目了。Spring framework的core模块就不用说了,其他的比如spring data jpa原创 2017-10-10 00:34:17 · 453 阅读 · 0 评论 -
Activiti工作流开发——工作流简介
工作流是一个比较难懂的概念,可能非计算机专业的人还好理解一些,也许是对于做项目的技术人员在这方面理解会有些不同。百度百科上对工作流的解释是:工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实原创 2017-10-06 09:01:18 · 687 阅读 · 0 评论 -
Activiti工作流开发——Activiti相关概念
Activiti对流程的描述是基于数据库表的,Activiti有23张表,分别用来储存工作流各个阶段的数据,各个表的数据字段和作用请参考blogActiviti数据表结构说明Activiti工作流的核心是一个叫ProcessEngine的接口,这个接口控制着整个工作流,其中工作流引擎又包含着若干个事务,比如有注册事服务(可以部署流程,也可以查看部署的流程和流程定义、删除一个流程等等),原创 2017-10-06 09:19:44 · 835 阅读 · 0 评论 -
一步步实现WebServer中间件——项目介绍
前段时间借助《Spring源码深度解析》和《Spring技术内幕》两本书对Spring框架的底层实现有了更深层次的认识,本想写一个Spring架构系列博客同时实现一个简易版的Spring的,但无奈手上同时有三个外包项目,并且白天也有一些本科课程,就只能暂时搁置拖到寒假再写了。上星期京东搞活动,京东自营的图书都半价,我又手痒撸了几百块钱的,哎,真是败家。但是书的质量还是蛮高的,我买了《Java多原创 2017-11-09 00:30:30 · 1211 阅读 · 0 评论 -
一步步实现WebServer中间件——系统基本架构
用过Tomcat的小伙伴们都知道,和jetty不同,jetty是基于Handler容器工作的,而Tomcat是基于一系列容器的,从最外层的Server容器,Server是Tomcat的顶级容器,控制着整个Tomcat的生命周期;然后是Engine容器,Engine会接收Connector请求,再往里面是Host容器,一个Host表示一个虚拟主机,可以运行多个应用,每个虚拟主机对应一个域名,不同的H原创 2017-11-17 11:20:34 · 616 阅读 · 0 评论 -
一步步实现WebServer中间件——自己实现一个线程池
线程的一些基本概念:在操作系统中,进程是一个程序运行时的实例,也就是说进程是一个正在运行的程序,程序只是一堆代码,二进制、class字节码或者其他脚本啥的,但进程是一个运行中的实体,包括有程序的运行在内存中的所有资源,比如程序指数器、内存、寄存器、堆栈以及外部的一些资源,比如说USB连接、网络或者磁盘。现代的操作系统一般都是多用户多机的,CPU会调度进程,这是为了提高用户体验度以及充分利用CPU原创 2017-11-29 14:24:37 · 839 阅读 · 0 评论 -
一步步实现WebServer中间件——从一个最简单的WebServer开始
package com.benson.webserver.core;import com.benson.webserver.container.SimpleBlockServer;import java.io.IOException;/** * web server启动器 * author benson * time 2017/11/9 17:33 * email 14558原创 2017-11-16 00:14:07 · 488 阅读 · 0 评论 -
Spring Security学习——基于方法调用的权限验证
基于方法调用的权限验证 根据前面的几个例子,发现Spring Security还是非常好用了。而有时候,可能需要这样的应用场景,在业务逻辑层,如果能对某些业务方法进行相关的权限验证就更好了,这样更好理解,并且更细粒度,因为我们能够管理哪些角色可以访问哪些方法中的业务,并且这样在业务开发时将会更加方法。比如在一个学生管理系统中,普通用户也就是普通学生能够查看相应的学生信息、成原创 2018-01-30 16:02:52 · 734 阅读 · 0 评论