servlet

javaweb-codereview 学习记录-1

孤街浪徒 提交于 2019-12-25 01:04:27
Servlet 是在 Java Web容器 上运行的 小程序 ,通常我们用 Servlet 来处理一些较为复杂的服务器端的业务逻辑。值得注意的是在 Servlet3.0 之后( Tomcat7+ )可以使用注解方式配置 Servlet 了。 Servlet3.0 之前的版本都需要在 web.xml 中配置, Servlet 是 两对标签 ,由 <servlet> 和 <servlet-mapping> 组成, Spring MVC 框架就是 基于Servlet技术 实现的。 自己的理解: servlet实际上就是服务后端逻辑的一段代码,配置servlet的过程实际上就是定义处理类与对应url的映射关系,而filter也是处理http请求的,只不过在servlet处理之前可以做一些过滤检测的操作。当然这种配置方式可以配置在文件中,也可以在代码中以@符号来定义注解,效果一样 spring : struts2: Struts2主要的开发模式是基于xml配置,在 struts.xml 中配置Action地址和对应的处理类。 Java反射获取类方法有两种方式: getMethod(xxx),getMethods() getDeclaredMethod(xxx)、getDeclaredMethods()。 区别在于 getMethod会返回当前类和父类的所有public方法 ,而

Tomcat性能优化

大憨熊 提交于 2019-12-25 01:03:03
tomcat基本流程 // Start our child containers, if any Container children[] = findChildren(); List<Future<Void>> results = new ArrayList<>(); for (int i = 0; i < children.length; i++) { // 这句代码就是会调用ContainerBase下的一个个子容器的call方法 results.add(startStopExecutor.submit(new StartChild(children[i]))); } 查看new StartChild要执行的call方法 private static class StartChild implements Callable<Void> { private Container child; public StartChild(Container child){ this.child = child; } @Override public Void call() throws LifecycleException { child.start(); return null; } } deployDescriptors(configBase, configBase.list());

Asynchronous Servlet and Web

左心房为你撑大大i 提交于 2019-12-25 00:46:17
https://www.baeldung.com/spring-deferred-result https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-async https://spring.io/blog/2012/05/07/spring-mvc-3-2-preview-introducing-servlet-3-async-support https://www.reactiveprogramming.be/spring-webflux-servlet-api/ https://www.javaworld.com/article/2077995/java-concurrency-asynchronous-processing-support-in-servlet-3-0.html Asynchronous support was introduced in Servlet 3.0 and, simply put, it allows processing an HTTP request in another thread than the request receiver thread. DeferredResult, available from

SpringMVC入门案例:HelloWorld

浪子不回头ぞ 提交于 2019-12-25 00:40:14
本文摘自:http://www.cnblogs.com/bigdataZJ/p/springmvc1.html 软件参数   Eclipse:Mars.1 Release (4.5.1)   Tomcat: 8.0.36   JDK:1.8.0_60   Spring-framework: 4.0.4.RELEASE 新建项目   File-New-Other,选择Dynamic web project 项目建好之后,目录结构如下: 导入jar包   我们基于Spring mvc框架进行开发,需要依赖一下的spring jar包: spring-aop-4.0.4.RELEASE.jar spring-beans-4.0.4.RELEASE.jar spring-context-4.0.4.RELEASE.jar spring-core-4.0.4.RELEASE.jar spring-expression-4.0.4.RELEASE.jar spring-web-4.0.4.RELEASE.jar spring-webmvc-4.0.4.RELEASE.jar commons-logging-1.1.1.jar(用来打印log)   在WEB-INF目录下新建lib文件夹,并将上面的jar包放入其中。 配置文件及编写代码   web.xml(WEB-INF下) 1 <?xml

spring 的权限控制:security

独自空忆成欢 提交于 2019-12-25 00:15:21
下面我们将实现关于Spring Security3的一系列教程. 最终的目标是整合Spring Security + Spring3MVC 完成类似于SpringSide3中mini-web的功能. Spring Security是什么? 引用 Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。在Spring Framework基础上,Spring Security充分利用了依赖注入(DI,Dependency Injection)和面向切面技术。 关于Spring Security学习的资料. 最重要,最齐全的中文资料当然是family168的中文文档 Spring Security2参考文档 Spring Security3 参考文档 附件包含了一个很好的初入门的PDF教程. 最好是花30分钟先照着PDF上的教程一步一步的操作. 虽然没有实际的应用价值,但对初学者认识SpringSecurity3很有帮助. 我们的项目目录结构最终是: 需要添加的jar包: 我们先实现一个controller: MainController.java Java代码 package org.liukai.tutorial.controller; import org

SpringSecurity的简单使用

泄露秘密 提交于 2019-12-25 00:14:43
导入SpringSecurity坐标 在web.xml中配置过滤器 编写spring-securiy配置文件 编写自定义认证提供者 用户新增时加密密码 配置页面的login和logout 获取登录用户的信息 一.SpringSecurity简介    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 如果要对Web资源进行保护,最好的办法莫过于Filter,要想对方法调用进行保护,最好的办法莫过于AOP。Spring security对Web资源的保护,就是靠Filter实现的。 二.SpringSecurity的使用 1.导入SpringSecurity的坐标 <!-- SpringSecurity相关坐标 --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security

cxf webservice整合spring

烂漫一生 提交于 2019-12-24 20:55:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前端建模:CXF 提供了前端建模的概念,允许您使用不同的前端 API 来创建 Web 服务。API 允许您使用简单的工厂 Bean 并通过 JAX-WAS 实现来创建 Web 服务。它还允许您创建动态 Web 服务客户端。 工具支持:CXF 提供了用于在 Java Bean、Web 服务和 WSDL 之间进行转换的不同工具。它提供了对 Maven 和 Ant 集成的支持,并无缝地支持 Spring 集成。 RESTful 服务支持:CXF 支持代表性状态传输(Representational State Transfer,RESTful )服务的概念,并支持 Java 平台的 JAX-RS 实现。(本系列的第 2 部分将提供有关 RESTful 服务的更多信息。) 对不同传输和绑定的支持:CXF 支持不同种类的传输,从 XML 到逗号分隔值 (CSV)。除了支持 SOAP 和 HTTP 协议绑定之外,它还支持 Java Architecture for XML Binding (JAXB) 和 AEGIS 数据绑定。 对非 XML 绑定的支持:CXF 支持非 XML 绑定,例如 JavaScript Object Notation (JSON) 和 Common Object Request Broker

SSM(Spring+SpringMVC+Mybatis)框架搭建详细教程【附源代码Demo】

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-24 19:12:02
【前言】   应某网络友人邀约,需要一个SSM框架的Demo作为基础学习资料,于是乎,就有了本文。一个从零开始的SSM框架Demo对一个新手来说,是非常重要的,可大大减少在学习过程中遇到的各种各样的坑,说到最后,也算是助人为乐吧!下面我们从零开始进行SSM框架的搭建,在介绍最后,我会把项目部署在 GitHub 以便需要Demo的亲朋好友们进行下载~~~     https://github.com/sevenTiny/Demo.SSM   (访问记得Star哦~)    本Demo是在IDEA下搭建的Maven项目,在进行下面阅读前先了解这一点! 【开发环境】   1.操作系统:Windows7 ×64 Sp1      2.Java-Version:1.8.0_101      3.IDE:IntelliJ IDEA 2017.2.2 x64    一、新建项目   运行IDEA,进入初始化界面,然后我们选择新建项目(进入主界面新建项目也是一样的)      在Maven选项卡里面找到对应的java web选项,然后我们点下一步      这一步填入组织等信息,这里比较随意,按照自己的需求进行填写,然后下一步      这里我早已配置好本地Maven仓库,因此直接默认即可。如果没进行配置本地默认仓库的话,请网上查找对应的资料进行配置      输入Project name

springmvc

好久不见. 提交于 2019-12-24 19:11:08
一、什么是SpringMVC?   Spring MVC框架是一个开源的Java平台,为开发强大的基于Java的Web应用程序提供全面的基础架构支持非常容易和非常快速。   Spring web MVC框架提供了MVC(模型 - 视图 - 控制器)架构和用于开发灵活和松散耦合的Web应用程序的组件。 MVC模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。 模型(Model)封装了应用程序数据,通常它们将由POJO类组成。 视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。 控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。 二、SpringMVC的原理 三、SpringMVC的简单使用:     1.导入Spring框架的jar包     2.在 web.xml 中配置前端控制器 DispatcherServlet      1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://xmlns.jcp.org/xml/ns/javaee" 4 xsi:schemaLocation=

IDEA用maven创建springMVC项目和配置(XML配置和Java配置)

一笑奈何 提交于 2019-12-24 18:03:57
1、DEA创建项目 新建一个maven project,并且选择webapp原型。 然后点击next 这里的GroupId和ArtifactID随意填写,但是ArtifactID最好和你的项目一名一样然后next 为了快一点创建,我们添加一个属性值,如图中亮的所示,点右边的加号,name=archetypeCatalog value=internal。 这里我们选择使用IDEA自带的maven,下面的两个分别是你的maven配置文件和你的仓库地址,我记得idea的maven一开始是没有setting.xml的,所以你要去maven的目录里面拷一份setting.xml到你的仓库中。idea的maven在安装路径的plugins文件夹下,即X:\xxx\JetBrains\IntelliJ IDEA 2016.3.2\plugins\plugins\maven\lib\maven3\conf\setting.xml拷贝到你的用户文件夹下的.m2文件夹下,为了之后能够快速的下载依赖包,我们要加一个官方库的镜像,因为maven的官方仓库在国外,太慢了。 我们在你的.m2文件夹下的setting.xml中添加如下代码: <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url