web容器

docker 配置 tomcat

ぐ巨炮叔叔 提交于 2019-12-26 15:44:17
启动tomcat $ docker run -it --rm -p 8888:8080 tomcat:8.0 将war的路径映射到tomcat容器中 docker cp /root/testWar/ssm.war c1f48410835a:/usr/local/tomcat/webapps 进入容器的命令 docker exec -it c1f48410835a /bin/bash 重启tomcat 来源: https://www.cnblogs.com/Web-spring/p/12102149.html

Shiro的原理及Web搭建

◇◆丶佛笑我妖孽 提交于 2019-12-26 15:17:48
shiro(java安全框架)     以下都是综合之前的人加上自己的一些小总结     Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 Shiro 主要分为来个部分就是认证和授权,在个人感觉来看就是查询数据库做相应的判断而已,Shiro只是一个框架而已,其中的内容需要自己的去构建,前后是自己的,中间是Shiro帮我们去搭建和配置好的     个人认为需要看一下其中的一些源码,更有帮助的深入的去了解Shiro的原理。 Shiro的主要框架图: 方法类的走向: 对一些其中的方法的简单说明: Subject Subject即主体,外部应用与subject进行交互,subject记录了当前操作用户,将用户的概念理解为当前操作的主体,可能是一个通过浏览器请求的用户,也可能是一个运行的程序。 Subject在shiro中是一个接口,接口中定义了很多认证授相关的方法,外部程序通过subject进行认证授,而subject是通过SecurityManager安全管理器进行认证授权 SecurityManager SecurityManager即安全管理器,对全部的subject进行安全管理,它是shiro的核心

httpModule HttpHandler

↘锁芯ラ 提交于 2019-12-26 13:51:27
httpModule HttpHandler 转自 年轻的蜗牛 ASP.NET的HTTP请求处理方法 当 客户端向web服务器请求一个*.aspx的页面文件时,这个http请求也会被inetinfo.exe进程截获(www服务),它判断文件后缀之后, 把这个请求转交给ASPNET_ISAPI.DLL而ASPNET_ISAPI.DLL则会通过一个Http PipeLine的管道,将这个http请求发送给ASPNET_WP.EXE进程,当这个HTTP请求进入ASPNET_WP.EXE进程之 后,asp.net framework就会通过HttpRuntime来处理这个Http请求,处理完毕后将结果返回给客户端。 ------------------------------------ 当 一个http请求被送入到HttpRuntime之后,这个Http请求会继续被送入到一个被称之为HttpApplication Factory的一个容器当中,而这个容器会给出一个HttpApplication实例来处理传递进来的http请求,而后这个Http请求会依次进入 到如下几个容器中: HttpModule --> HttpHandler Factory --> HttpHandler 当系统内部的HttpHandler的ProcessRequest方法处理完毕之后,整个Http

对Spring 及SpringMVC的理解

自作多情 提交于 2019-12-26 05:46:00
spring 是一个轻型容器(light-weight Container ),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行 数据库 的开发;Web MVC和Spring Web提供了 Java Web应用的框架或与其他流行的Web框架进行集成。 1)开源框架 2)IoC(控制反转),将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合 3)AOP 将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,实现了按照方面编程,提高了复用性 前言 最近在看Spring MVC的源码,就把自己对MVC模式和对各种框架的实现的认识写出来给大家看看,算是一个总结.所以,恳请大家用怀疑的眼光来看待这篇文章,假如有认识不对的地方,麻烦指出. MVC与WEB应用 MVC是什么就不用我多说了.对于现有较成熟的Model-View-Control(MVC)框架而言,其注意的主要问题无外乎下面这些: Model:

Java Web学习总结(1)——JavaWeb开发入门

帅比萌擦擦* 提交于 2019-12-26 01:05:25
一、基本概念 1.1、WEB开发的相关知识   WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同 。   静态web资源开发技术:Html   常用动态web资源开发技术:JSP/Servlet、ASP、PHP等   在Java中,动态web资源开发技术统称为Javaweb。 1.2、WEB应用程序   WEB应用程序指供浏览器访问的程序,通常也简称为web应用。例如有a.html 、b.html…..多个web资源,这多个web资源用于对外提供服务,此时应把这多个web资源放在一个目录中,以组成一个web应用(或web应用程序)   一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。    Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射 1.3、WEB 发展史   WEB 发展的两个阶段:静态、动态 1.4、 静态 WEB   *htm 、 *html

java Web(4)

♀尐吖头ヾ 提交于 2019-12-26 00:59:06
Web 应用程序状态管理   通过隐藏表单域 hidden,cookie,session,重写URL来实现;   cookie存在于客户端,浏览器关闭时失效   cookie原理:服务器在响应请求时将一些数据以“键-值”对的形式通过响应信息保存在客户端   Servlet中提供了如下一系列操作Cookie的API   Cookie(name, value):构造方法用于创建一个或多个Cookie   setMaxAge(int lifetime):设置Cookie的过期时间(以秒为单位)。默认值为负值(Cookie将在浏览器关闭时过期)   getMaxAge():获取Cookie的过期时间。   getName():获取Cookie的名字   setValue(String value):指定Cookie的值。   getValue():获取Cookie的值   要将Cookie发送到客户端,Servlet应该按照下列的操作步骤执行:   创建一个或多个Cookie,使用构造方法指定Cookie的名字和值   使用setValue方法为Cookie设置属性值   使用HttpServletResponse对象的addCookie()方法将Cookie插入到响应头中   要读取客户端传入的Cookie,Servlet执行下列操作步骤:  

Web基础了解版06-Jsp

只愿长相守 提交于 2019-12-25 16:27:39
Jsp Jsp全称Java Server Pages,也就是在我们JavaWeb中的动态页面。 Jsp能够以HTML页面的方式呈现数据,是一个可以嵌入Java代码的HTML。 Jsp其本质就是一个Servlet。Servlet能做的事情JSP都能做。 Jsp必须运行在服务器中,不能直接使用浏览器打开。 Jsp是Web网页的技术标准,主要语法组成包括:指令,html模板元素,脚本片段(小脚本),表达式,声明,注释,后缀是*.jsp。 Jsp主要负责显示及获取数据 Jsp是动态页面,html是静态页面 动态页面 静态页面 运行原理 通过服务器解析后,将数据在浏览器中显示 直接在浏览器中解析运行 维护成本 较低,可以修改后台数据,进而影响页面中的数据 较高,必须将修改后的页面覆盖原页面 数据库 可以连接数据库 不可连接数据库 访问速度 较慢 较快 书写代码 可以书写java代码 不能书写java代码 注意事项 1、jsp页面是一个类似于html的一个页面。 jsp直接存放到WebContent目录下,和html一样访问jsp的时候,也和访问html一样 2、jsp的默认编码集是iso-8859-1,修改jsp的默认编码为UTF-8 JSP运行原理 实际上Tomcat在运行JSP时,并不是直接显示的我们所编写的JSP页面,而是将JSP页面转换成了一个Java类

tomcat部署多个项目

白昼怎懂夜的黑 提交于 2019-12-25 12:09:10
1 配置说明 一个tomcat进程运行两个项目,启动多个端口提供服务,即修改server.xml 增加多个service配置选项 <Service name="Catalina1"> <Connector port="9001" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina1" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve"

【spring boot】5.spring boot 创建web项目并使用jsp作前台页面

拥有回忆 提交于 2019-12-25 02:54:47
转载: 【spring boot】5.spring boot 创建web项目并使用jsp作前台页面 感谢CCTV 贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功访问到jsp页面。很尴尬!也很无语! 好吧,开头一句抱怨,下面全靠编~~~ ======================================================================================================= 1.idea下spring boot创建web项目 刚创建完是下面这样 当然,最后创建完的使用JSP的web项目可不是这个结构的。往下看。 2.pom.xml添加下面 View Code 上面这三个是spring boot项目创建使用jsp页面的web项目必须的三个依赖 这里介绍下maven中scope依赖范围的概念,因为后续涉及到这个会有问题。 依赖范围就是用来控制依赖和三种classpath(编译classpath,测试classpath、运行classpath)的关系,Maven有如下几种依赖范围: compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围

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