servlet

tomcat与jboss集成

♀尐吖头ヾ 提交于 2019-12-04 13:29:17
最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考。 一、Tomcat Tomcat 服务器是免费开源的Web 应用服务器。支持最新的Servlet 和JSP 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,不过,Tomcat处理静态HTML的能力不如Apache服务器。另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式,基于Tomcat的开发其实主要是Jsp和Servlet的开发。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。 Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。 二、Jboss

关于“javax.servlet.include.request_uri”属性值 include 请求 RequestDispatcher.include

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-04 13:21:27
在springMVC的DispatcherServlet类的doService方法中有如下代码: 1 2 3 4 5 6 7 8 9 10 if (WebUtils.isIncludeRequest(request)) { attributesSnapshot = new HashMap<String, Object>(); Enumeration<?> attrNames = request.getAttributeNames(); while (attrNames.hasMoreElements()) { String attrName = (String) attrNames.nextElement(); if ( this .cleanupAfterInclude || attrName.startsWith( "org.springframework.web.servlet" )) { attributesSnapshot.put(attrName, request.getAttribute(attrName)); } } } 其中WebUtils.isIncludeRequest(request)这段代码实现如下: 1 2 3 public static boolean isIncludeRequest(ServletRequest request) { return

Java web

China☆狼群 提交于 2019-12-04 11:57:08
1.Ajax AJAX = Asynchronous JavaScript and XML(异步 JavaScript 和 XML)。 Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 Javascript 来操作 DOM 而更新页面。这其中最关键的一步就是从服务器获得请求数据。 XmlHttpRequest 是 ajax 的核心机制,它是在 IE5 中首先引入的,是一种支持异步请求的技术。简单的说,也就是 Javascript 可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果 image.png 2.JQuery JQuery 是一个 JavaScript 库。功能包括 HTML 元素选取和操作、CSS 操作、HTML 事件函数、 JavaScript 特效和动画、HTML DOM 遍历和修改、AJAX 和 Utilities。除此之外,JQuery 还提供了大量插件。 基础语法: $(selector).action()。 选择器:主要分四大选择器,分别是基本选择器、层次选择器、过滤选择器、属性过滤选择器。 事件:例如 click()、dblclick()、mouseenter()、mouseleave()、mousedown()等。 3.Cookie 在 web 程序中是使用 HTTP

SSM整合

混江龙づ霸主 提交于 2019-12-04 11:34:35
基本概念    mybatis      MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。   spring      Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说

SSM整合

♀尐吖头ヾ 提交于 2019-12-04 11:29:37
案例 导入架包 <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.1.5.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.5.RELEASE</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>commons-logging</groupId>

手写Spring框架,加深对Spring工作机制的理解!

Deadly 提交于 2019-12-04 11:01:57
在我们的日常工作中,经常会用到Spring、Spring Boot、Spring Cloud、Struts、Mybatis、Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越来越轻松,我们用 Spring Boot 分分钟可以新建一个Web项目。 记得自己刚开始工作的时候还是在用 Servlet 写 Web 项目,自己写 数据库连接池 ,用原生 JDBC 操作数据库,好了不发散了。回到这篇文章的主题,今天通过手写Spring框架,帮大家深入了解一下Spring的工作机制,文中涉及的代码只用来帮助大家理解Spring,不会在线上使用,有不严谨的地方还请大家掠过。 项目结构 框架部分实现 为了区分框架部分代码和业务部分代码,我们将这两部分分别划分在不同的包内 com.mars.demo 和 com.mars.framework ,以便随后只扫描业务代码。 这里是自己手写Spring框架,所以不会引入任何Spring项目相关的包。 由于是一个Web项目,所有我们需要引入 servlet-api 包,仅供编译器使用,所有配置 scope 为 provided 。 新建一个Servlet 首先新建一个 HttpServlet 的实现类 MarsDispatcherServlet ,用来接收请求。 public class MarsDispatcherServlet

Tomcat是一个Servlet容器?

旧街凉风 提交于 2019-12-04 10:59:24
“Tomcat是一个Servlet容器”,这句话对于2019年的程序员应该是耳熟能详的。 单纯的思考一下这句话,我们可以抽象出来这么一段代码: class Tomcat { List<Servlet> sers; } 如果Tomcat就长这样,那么它肯定是不能工作的,所以,Tomcat其实是这样: class Tomcat { Connector connector; // 连接处理器 List<Servlet> sers; } 我们这里先不考虑Connector的底层实现,我们只需知道Connector是负责处理请求的。 我们还是来想想 容器 。 Context 顾名思义,Servlet容器就是用来装载存储Servlet的。 一个Servlet表示一个运行在服务端的程序(servlet = server + applet)。用户想要使用这种程序,需要向该程序发送请求以及获取该程序的响应,也就是Servlet规范中的ServletRequest、ServletResponse。 所以Servlet其实就是Java中用来处理请求的一种规范,所以我们的项目中通常都会有一个或多个Servlet,由它来负责接收请求,或者将请求转交给其他业务逻辑。 所以我们的Spring MVC、Spring Boot都存在一个DispatcherServlet(类似功能的一个Servlet,负责接收请求)

集成springmvc

与世无争的帅哥 提交于 2019-12-04 08:40:43
建一个controller的包,写一个TestController.java package controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("con") public class TestController { public TestController(){ System.out.println("123123123"); } @RequestMapping("test") @ResponseBody public String testmvc(){ System.out.println("testmvc"); return "testmvc"; } } 写构造函数方便查看是否扫描到 springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

servlet/jsp基础复习

偶尔善良 提交于 2019-12-04 08:27:02
servlet就是一个普通的Java类,类对象由服务器(容器)创建,实现请求,响应交互数据。 实现第一个servlet继承HTTPservlet重写doget,dopost方法。其实servlet执行处理请求时候都会调用父类service方法后执行doget、dopost方法。 servlet生命周期: 初始化init(); 执行service(); 销毁调用destroy方法 servlet的域对象: HTTPservletRequest同一个请求共享、HTTPsession同一次会话、servletContext所有的servlet共享。 请求转发和重定向: 请求转发:RequestDispatcher(request.requestDispatcher("").forword(requst,response);) 地址改变,服务器内部的转发 整个过程是一个请求,经过多个servlet同属于一个请求,可以通过request来传递一些信息。 重定向:sendRedirect(response.sendRedrect();) 地址改变,可以访问服务器外部的资源。整个过程中发送了两次请求。 ----------------------------------------------------- jsp jsp是一种动态网页技术,实际上jsp就是servlet,也是一个java类。

Spring核心技术(十一)——基于Java的容器配置(一)

拥有回忆 提交于 2019-12-04 08:21:52
基本概念: @Bean 和 @Configuration Spring中新的基于Java的配置的核心就是支持 @Configuration 注解的类以及 @Bean 注解的方法。 @Bean 注解用来表示一个方法会实例化,配置,并初始化一个新的由Spring IoC容器所管理的对象。其作用等于XML配置中的 <beans> 标签下的 <bean> 子标签。开发者可以用 @Bean 注解来和任何的Spring @Component 来联合使用,但是,最常见的情况下, @Bean 注解还是应用到注解了 @Configuration 的类下面的。 注解了 @Configuration 的类就表示这个类的首要目的是用来管理Bean的配置的。而且, @Configuration 注解的类允许 inter-bean 之类的依赖在类中通过方法调用来引用。最简单的配置如下: @Configuration public class AppConfig { @Bean public MyService myService () { return new MyServiceImpl(); } } 上面的配置将等价于如下的XML配置: < beans > < bean id = "myService" class = "com.acme.services.MyServiceImpl" /> </