web容器

web开发中的JAVA字符转码

邮差的信 提交于 2019-12-03 05:23:35
二、基本概念 2.1 JAVA中字符的表达 JAVA中有char、byte、String这几个概念。 char 指的是一个UNICODE字符,为16位的整数。 java抓取网页保存的乱码问题解决 byte 是字节,字符串在网络传输或存储前需要转换为byte数组。在从网络接收或从存储设备读取后需要将byte数组转换成String。 String是字符串,可以看成是由char组成的数组。 String 和 char 为内存形式,byte是网络传输或存储的序列化形式。 举例: 英 String ying = “英”; char ying = ying.charAt(0); //返回第0位的字符 String yingHex = Integer.toHexString(ying); //字符和整数同是16位 82 F1 byte yingGBBytes = ying.getBytes(“GBK”); //转换成字节 GB编码的字节数值 D3 A2 2.2 编码方式的简介 String序列化成byte数组或反序列化时需要选择正确的编码方式。如果编码方式不正确,就会得到一些0x3F的值。常用的字符编码方式有ISO8859_1、GB2312、GBK、UTF-8/UTF-16/UTF-32。 ISO8859_1用来编码拉丁文,它由单字节(0-255)组成。 GB2312、GBK用来编码简体中文

为什么学习 Spring Boot?

匿名 (未验证) 提交于 2019-12-03 00:43:02
我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低。 2012 年 10 月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架中支持无容器 Web 应用程序体系结构。他谈到了在主容器引导 spring 容器内配置 Web 容器服务。这是 jira 请求的摘录: 我认为 Spring 的 Web 应用体系结构可以大大简化,如果它提供了从上到下利用 Spring 组件和配置模型的工具和参考体系结构。在简单的 main() 方法引导的 Spring 容器内嵌入和统一这些常用Web 容器服务的配置。 这一要求促使了 2013 年初开始的 Spring Boot 项目的研发,到今天,Spring Boot 的版本已经到了 2.0.3 RELEASE。Spring Boot 并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。同时它集成了大量常用的第三方库配置,Spring

WebService登陆验证四种方式

匿名 (未验证) 提交于 2019-12-03 00:39:02
在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEB Service,源于我最近面试时被问到相关问题,我这里只是重新复习一下并总结一下,给新手们指指路,大牛们可以无视之,当然不足之处还请大家指教,谢谢! WEB Service身份验证,网上已有许多的相关文章,总结起来有: 基于自定义SoapHeader验证、Form验证、集成Windows身份验证、服务方法加入一个或几个验证参数 ;下面就不废话了,直接分享实现的代码吧,中间有涉及注意的地方,我会有说明文字的。 1.基于自定义SoapHeader验证 定义服务:(注意UserValidationSoapHeader必需有无参构造函数,否则无法序列化) //UserValidationSoapHeader: public class UserValidationSoapHeader : SoapHeader { public string UserName { get; set; } public string Password { get; set; } public UserValidationSoapHeader() { } public bool IsValid() { if (string.IsNullOrEmpty

web.xml标签详解

匿名 (未验证) 提交于 2019-12-03 00:39:02
转自https://blog.csdn.net/ee470474137/article/details/45721025 <!--该元素声明应用范围内的初始化参数--> < context-param> <!--声明描述信息--> < description> </ description> <!--用于指定上下文参数的名称--> < param-name> </ param-name> <!--用于指定上下文参数的值--> < param-value> </ param-value> </ context-param> <!--声明WEB应用的描述信息--> < description> </ description> <!--定义了WEB应用的名字--> < display-name> </ display-name> <!--用于--> < distributable/> <!--声明一个EJB的本地主目录的应用--> < ejb-local-ref> <!--声明描述信息--> < description> </ description> <!--当前bean从一个不同jar包中引用另外一个bean的名称。通过ejb-link元素定义的名称必须使用"#"和bean注册名与Web应用程序中war文件的位置相关联--> < ejb-link> </ ejb-link> <!-

Web Service与Ejb的区别

匿名 (未验证) 提交于 2019-12-03 00:39:02
如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。要调用WebService,可以直接使用MicrosoftSOAPToolkit或.NET这样的SOAP客户端,也可以使用自己开发的SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。同时,应用程序也不再需要在每次调用中间层组件时,都跳转到相应的“结果页”。在一个用户界面和中间层有较多交互的应用程序中,使用WebService这种结构,可以节省花在用户界面编程上20%的开发时间。另外,这样一个由WebService组成的中间层,完全可以在应用程序集成或其它场合下重用。最后,通过WebService把应用程序的逻辑和数据“暴露”出来,还可以让其它平台上的客户重用这些应用程序。 2、Ejb Ejb是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.net技术。凭借java跨平台的优势,用Ejb技术部署的分布式系统可以不限于特定的平台。 Ejb实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把Ejb概念转换成Ejb产品.Ejb是BEANS,BEANS是什么概念,那就是得有一个容纳她,让她可劲造腾的地方,就是得有容器.Ejb必须生存在Ejb容器中.这个容器可是功能强大之极

idea创建web最基础操作

匿名 (未验证) 提交于 2019-12-03 00:33:02
Intellij Idea14: http://pan.baidu.com/s/1nu16VyD JDK7: http://pan.baidu.com/s/1dEstJ5f Tomcat(apache-tomcat-6.0.43): http://pan.baidu.com/s/1kUwReQF Intellij Idea的安装非常简单,一步一步安装即可。 JDK的安装也挺简单的,重要的是配置环境。在环境变量Path里面添上Java的安装路径即可。 Tomcat文件夹不用安装,直接解压放在C盘下即可,或者放在其他文件夹下也可以,但是文件夹的名字最好不要带中文~~~不信?那你试试~~ Idea创建Web项目步骤: 1、创建一个项目 File -> New Project -> 输入项目名称“Demos” ,选择Project SDK为1.7 -> Next -> Finish 2、创建一个Module 鼠标点中项目名称demos -> 右键选择New,选择Module 输入Module名称“firstweb” -> 点击Next 勾选“Web Application” -> 确认已勾选“Create web.xml” -> Finish 3、创建好的web项目 4、在web/WEB-INF下创建两个文件夹:classes和lib classes用来存放编译后输出的class文件

Filter学习(一)

匿名 (未验证) 提交于 2019-12-03 00:32:02
一、Filter简介   Filter:可以对web服务器管理的所有web资源(如Jsp, Servlet, 静态图片文件或静态 html 文件等)进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。通过Filter技术,可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截。 二、Filter是如何实现拦截的?  Web服务器每次在调用web资源的service方法之前,都会先调用一下Filter的 doFilter 方法,对访问的请求和响应进行拦截。因此,在该方法内编写代码可达到如下目的: 调用目标资源之前,让一段代码执行。 是否调用目标资源(即是否让用户访问web资源)。 调用目标资源之后,让一段代码执行。   web服务器在调用doFilter方法时,会传递一个filterChain对象进来, filterChain 对象是filter接口中最重要的一个对 象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方 法,即web资源就会被访问,否则web资源不会被访问。 三、Filter开发入门 3.1、Filter开发步骤 编写java类 实现Filter接口 ,并实现其doFilter方法。 在 web.xml 文件中使用

springboot微服务--04 spring-boot-starter-logging和spirng-boot-starter-web

匿名 (未验证) 提交于 2019-12-03 00:26:01
springboot微框架从两个层面影响微服务开发者: 基于spring框架的“约定优先于配置”理念 提供了丰富的spring-boot-starter自动配置依赖模块 我们可以对干预springboot的配置方式进行分类: 命令行参数、系统环境变量、位于文件系统中的配置、位于classpath中的配置文件、固化到代码中的配置项 ; java的日志有多种多样,从java.util默认提供的日志支持,到log4j、log4j2、commons logging等,应用日志系统的配置会比较特殊,从而spring-boot-starter-logging的配置也会比较特殊。 1、需要在maven中添加如下配置中之一即可: #默认的logging < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-logging </ artifactId > </ dependency > #log4j < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-logg4j </ artifactId > </

shiro权限框架整理

匿名 (未验证) 提交于 2019-12-03 00:26:01
Shiro简介 SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 Authentication: 身份认证/登录,验证用户是不是拥有相应的身份; Authorization: 授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; Session Manager: 会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的; Cryptography: 加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support: Web支持,可以非常容易的集成到Web环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率; Concurrency: shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去; Testing: 提供测试支持; Run As: 允许一个用户假装为另一个用户(如果他们允许)的身份进行访问; Remember Me: 记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。 记住一点