servlet

SpringMVC框架源码解析之一:核心组件和执行流程

百般思念 提交于 2020-01-27 02:36:40
SpringMVC框架源码解析之一:核心组件和执行流程 SpringMVC框架这几年可以说是java语言中最热门的MVC框架了。在前后端分离的时代,就算不使用它来处理前端页面,但也是用它来提供Restful API。 Servlet的生命周期 在开始了解SpringMVC框架之前,先来了解下servlet生命周期: public interface Servlet { //应用容器(如tomcat)调用init方法,传入ServletConfig,来初始化servlet public void init(ServletConfig config) throws ServletException; ... //应用容器获取到http请求后,调用service方法对请求进行处理 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException; ... //应用容器调用destroy方法,来销毁servlet public void destroy(); } 可以看到,servlet是在应用容器(如tomcat)中生存的,其生命周期由应用容器来管理。 servlet的init() 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用

struts2--------第四天

五迷三道 提交于 2020-01-27 01:33:44
struts2中引用servlet api 概念 为什么要引入servlet 的api,因为struts2虽然实现了直接访问action类及传递的数据。但是在某些情况下依然会用servlet api,如登录成功,保存用户session信息。 struts2 有 2 种方式去获取 servletAPI; 一种解耦,一种耦合; 解耦使得使用 struts2 来进行测试的时候 不需要启动服务器。在一定程度上提高开发效 率的。 解耦:就是struts2为了避免直接使用servlet 对象增加与servlet的耦合,就用map容器来封装了servlet api,当使用servlet对象时,通过map容器取出相应的对象。 耦合:就是调用相应的方法直接访问servlet对象。 解耦方式 1.通过ActionContext类的相应get方法。(如:getsession(),getapplication(),等等) //获取request---HttpServletRequest对象的attributes Map<String,Object> request = (Map)ActionContext.getContext().get("request"); //获取application Map<String,Object> application = ActionContext

javaweb第十一天 服务器与Servlet入门

坚强是说给别人听的谎言 提交于 2020-01-27 01:14:54
文章目录 一,Tomcat服务器是什么? 怎么配置Tomcat环境? 二,软件架构够的种类? 三,利用Servlet和Tomcat实现用户登录 一,Tomcat服务器是什么? Tomcat是一个免费的开源的开放代码的Web应用服务器,属于轻量级服务器。是开发和调试JSP程序的首选。 怎么配置Tomcat环境? 1.配置java环境变量 2.打开这个startup.bat 文件 3.set JAVA_HOME=D:\develop\java\jdk1.8 3,set JRE_HOME=D:\develop\java\jdk1.8\jre 二,软件架构够的种类? 分为C/S和B/S架构; C/S: 优点: 1.速度快,效率高 2.安全高 3.不依赖与浏览器 ==>依赖于安装的主机 缺点: 维护成本比较高,升级特别麻烦(需要每一个主机都重新安装一次) B/S: 优点: 维护成本比较低,无缝连接升级 缺点: 1.速度慢 2.安全性低 ,使用的时候浏览器进行加密 3.依赖于浏览器,有些动画效果不能显示 三,利用Servlet和Tomcat实现用户登录 一,创建javaweb工程 在src下分别创建包 1:Dao:用于与数据库进行交互。 2:entity:实体类,将数据库中的信息用于创建对象。 3:service:将从数据库中获取的数据进行逻辑处理。 4:servlet:处理前端的请求

eclipse maven spring mvc + mybatis + cxfwebservice构建工程

半城伤御伤魂 提交于 2020-01-27 01:11:25
第一步,基于maven spring mvc构建基本程序框架,参考如下文章,建立的工程可直接使用 https://www.cnblogs.com/daxiang2008/p/9663317.html 第二步,向工程中添加mybatis,参考mybatis官网的入门教程,照做即可,注意我没有使用spring-mybatis方式 https://mybatis.org/mybatis-3/zh/getting-started.html 第三步,集成web service功能到工程,参考apache cxf官网的文档,照做即可使用 http://cxf.apache.org/docs/writing-a-service-with-spring.html 基于此,能构建一个基本的开发框架,以下是一些其它信息 --静态资源访问,修改springcontext.xml <!-- 静态资源访问 --> <mvc:resources location="/design01/images/" mapping="/design01/images/**" /> <mvc:resources location="/design01/js/" mapping="/design01/js/**" /> <mvc:resources location="/design01/css/" mapping="

Tomcat原理简介

一笑奈何 提交于 2020-01-26 21:32:03
概念 Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。 Tomcat是由Java编写的。 原理 Tomcat结构图: Tomcat主要组件:服务器Server,服务Service,连接器Connector、容器Container 连接器Connector和 容器Container是Tomcat的核心。 Tomcat中最顶层的容器是Server ,代表着整个服务器,从上图中可以看出,一个Server可以包含 至少一个 Service,用于具体提供服务。 Service主要包含两个部分 :Connector和Container。从上图中可以看出 Tomcat 的 心脏 就是这两个组件, 他们的作用 如下: 1、Connector用于处理连接相关的事情,并提供Socket与Request和Response相关的转化; 2、Container用于封装和管理Servlet,以及具体处理Request请求; 这之间的数量关系: 一个Tomcat中只有一个Server,一个Server可以包含多个Service,一个Service只有一个Container,但是可以有多个Connectors,因为一个服务可以有多个连接。 多个 Connector 和一个 Container 形成一个 Service

Servlet和Servlet容器

眉间皱痕 提交于 2020-01-26 15:00:04
Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容, Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立 的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。 Servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用 Servlet的方法(如doGet()和doPost()),Servlet容器在Servlet的生命周期内包容和管理Servlet。 Servlet容器也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于 MIME的请求,格式化基于MIME的响应。 Tomcat是一个免费的开放源代码的Servlet容器,目前比较流行的Web服 务器。 来源: https://www.cnblogs.com/ynhwl/p/9715676.html

解决SpringMvc加载静态资源时出现No mapping found for HTTP request with URI的问题

余生长醉 提交于 2020-01-26 09:49:55
在搭建SpringMvc框架加载静态资源时,访问web页面没什么异常,就是无法加载静态资源,控制台出现No mapping found for HTTP 错误。 根据错误信息可以看出,发送的静态资源交给了DispatcherServlet,因为DispatcherServlet的<url-pattern> 配置的是/,所以会匹配到所有的请求(排除jsp的请求)。而我们所发送的.js .css .html .txt .png .jpg .avi等都是静态资源,没有映射请求,所以会出现no mapping found的错误。 解决办法:在springmvc.xml的配置文件中加入以下的俩个配置即可完美解决问题。 <mvc:default-servlet-handler></mvc:default-servlet-handler> <mvc:annotation-driven></mvc:annotation-driven> 扩展: 1.配置了 <mvc:default-servlet-handler> 之后,将在springmvc的上下文中定义一个DefaultServletHttpRequestHandler, 它会将对进DispatcherServlet的请求进行筛查,如果发现是没有经过映射的请求, 就将该请求交给WEB应用服务器的默认servlet处理,如果是映射的请求

浅析servlet底层

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-26 02:51:34
浅析servlet 本文引导 学习原因 知识回顾 什么是servlet servlet的定义 实现过程 servlet可完成的任务 servlet特点 servlet底层原理 1、javax.servlet Interface Servlet servlet、GenericServlet、HttpServlet的关系 2、servlet实现方式 实现servlet接口 继承GenericServlet类 继承HttpServlet类 servlet生命周期 本文引导 学习原因 为了探讨tomcat底层原理 知识回顾 abstract:在java中是一个修饰词,意为抽象的,可以修饰类,方法,事件。抽象类是没有实例对象的类,抽象方法是没有方法体的方法。 throws:抛出异常关键字,出现在函数头,用于抛出异常,表示发生异常的一种可能性,并不一定会发生异常。常见的异常有IOException(输入输出流异常),NullpointException(空指针异常)。 extends:用来继承一个已有的类,被继承的类成为父类(超类,基类),java中不允许多继承。 implements:实现接口。一个类只能继承一个父类,但是可以实现多个接口。 ServletRequest、ServletResponse:由servlet容器管理,当用户请求时

Servlet体系结构

我只是一个虾纸丫 提交于 2020-01-26 02:19:58
GenericServlet类:将Servlet类当中除了service方法之外的其他方法做了空实现,只有service作为抽象方法 HttpServlet类(对HTTP协议的封装和学习)(推荐使用!): 实现请求方式“Get”和“Post”的判断:doGet()和doPost()方法 对HTTP协议的一种封装,简化操作 HttpServlet的使用方法: @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet..."); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost..."); } <!--login.html--> <body> <form action = "/day_servlet/demo" method = "post"> <input name = "username"> <input

搭建 Spring MVC 框架

瘦欲@ 提交于 2020-01-25 19:48:51
软件152 杨浩艺 没有什么比一个时代的没落更令人伤感的了 整个社会和人都在追求创新、进步、成长,没有人愿意停步不前,一个个老事物慢慢从我们生活中消失掉真的令人那么伤感么?或者说被取代?我想有些是的,但有些东西其实并不是这样。 游天鸣和蓝玉不正说明了两种截然不同的人生么。随着社会的进步,那些消失的艺术或者说民间艺术可能现实中我们再也见不到了,这个社会永远都是优胜劣汰,消失以为着不再需要,只不过这些老物件有更多的技艺和精神层面的东西罢了。 《百鸟朝凤》这部电影我最近才在网络上看,看完后我久久不能动弹,它并没有强烈的戏剧冲突,画面也不够细腻,人物刻画并不突出,但它讲明了唢呐这个事儿,不脑残,令人动容,这才是有思考的电影。 如果创建一个 Spring 项目 Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话,那可真令人忧伤。 1.在 MyEclipse 创建项目后,可以以选择的方式去 配置 一个 Spring 项目,这里不在讨论。因为我只用 Eclipse。 2.手动搭建。就是动手。 新建一个 Java Web 项目 1.打开 Eclipse ,在 Project Explorer 选项卡下面点击右键,选择 Web - Dynamic Web Prodect