servlet

struts2和springmvc的区别

北城余情 提交于 2020-01-17 05:29:00
struts2和springmvc的区别 一、拦截机制的不同   Struts2是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。   SpringMVC是方法级别的拦截,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。   Struts2有自己的拦截Interceptor机制

JAVA程序员面试宝典

一笑奈何 提交于 2020-01-17 01:15:20
程序员面试之葵花宝典 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面。抽象并不5. 打算了解全部问题,而6. 只是选择其中的一部分,7. 暂时不8. 用部分细节。抽象包括两个方面,9. 一是过程抽象,10. 二是数据抽象。 11. 继承:继承是一种联结类的层次模型,12. 并且允许和鼓励类的重用,13. 它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,14. 这个过程称为类继承。新类继承了原始类的特性,15. 新类称为原始类的派生类(子类),而16. 原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,17. 并且类可以修改或增加新的方法使之更适合特殊的需要。 18. 封装:封装是把过程和数据包围起来,19. 对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,20. 即现实世界可以被描绘成一系列完全自治、封装的对象,21. 这些对象通过一个受保护的接口访问其他对象。 22. 多态性:多态性是指23. 允许不同24. 类的对象对同25. 一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,26. 很好的解决了应用程序函数同27. 名28. 问题。 2、String是最基本的数据类型吗?

Java程序员面试之葵花宝典

蹲街弑〆低调 提交于 2020-01-17 01:04:25
程序员面试之葵花宝典 1.面向对象的特征有哪些方面 抽象:抽象就是忽略一个主题中与当前目标 无关的那些方面, 以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而 只是选择其中的一部分, 暂时不 用部分细节。抽象包括两个方面, 一是过程抽象,二是数据抽象。 1) 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性, 新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量, 并且类可以修改或增加新的方法使之更适合特殊的需要。 2) 封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 3) 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的

Servlet、Filter、Listener、Interceptor

南笙酒味 提交于 2020-01-16 18:39:41
首先,JSP/Servlet规范中定义了Servlet、Filter、Listener这三种角色,并没有定义Interceptor这个角色,Interceptor是某些MVC框架中的角色,比如Struts2中,Interceptor是用来拦截Action中的方法的调用,在被拦截的Action方法被执行前,先执行响应的拦截器中的方法。 servlet、filter、listener是配置到web.xml中,interceptor不配置到web.xml中,struts的拦截器配置到struts.xml中。spring的拦截器配置到spring.xml中。 servlet、filter、listener三者的加载顺序与它们在 web.xml 文件中配置的先后顺序无关。即不会因为filter写在listener的前面而会先加载filter:加载它们的先后顺序是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在 listener 配置节前呢?实际上 context-param 配置节可写在任意位置,因此真正的加载顺序为

Spring+SpringMVC+Mybatis整合(二)

▼魔方 西西 提交于 2020-01-16 17:55:02
目录结构: 1.导包 2.配置Spring(applicationContext.xml) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" 4 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" 5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 7 http://www.springframework.org/schema

springMVC + Spring + MyBatis 整合

一曲冷凌霜 提交于 2020-01-16 17:54:31
整理下SSM(基于注解)的整合 1. web.xml 配置文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 5 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 6 7 <!-- log4j 配置 --> 8 <context-param> 9 <param-name>log4jConfigLocation</param-name> 10 <param-value>classpath:log4j.properties</param-value> 11 </context-param> 12 <context-param> 13 <param-name>log4jRefreshInterval</param-name> 14 <param-value>60</param-value> 15 </context-param> 16 <listener>

[Servlet] 初识Servlet

好久不见. 提交于 2020-01-16 16:08:58
目录 什么是Servlet?   定义   功能 Java Web 开发的发展历程   静态网页技术   动态网页技术 Servlet 生命周期   init () 方法   service() 方法   doGet()方法   doPost()方法   destroy() 方法 Servlet 之 Hello World   环境设置   Hello World 实例 参考资料 什么是Servlet? 定义 Servlet 的全称是 Server Applet ,顾名思义,就是用 Java 编写的服务器端程序 。 Servlet 是一个 Java Web开发标准,狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 功能 其主要功能在于:交互式地浏览和修改数据,生成动态Web内容。 Java Web 应用程序中所有的请求-响应都是由 Servlet 来完成的。Servlet 并没有 Java Web 开发的发展历程 Web 开发技术主要是从 静态网页技术 到 动态网页技术 的变迁。 由于本文主要介绍 Java Web 开发技术,所以对其他语言的 Web 技术不做介绍。 Java Web 开发的大致发展历程如下:静态HTML –> CGI –> Servlet –> JSP

[JSP]JSP 简介

ε祈祈猫儿з 提交于 2020-01-16 16:05:26
目录 1.1 概述   1.1.1 什么是 JSP?   1.1.2 JSP 的优点 1.2 工作原理   1.2.1 JSP 和 Servlet的区别   1.2.2 JSP 工作原理 1.3 生命周期 参考资料 1.1 概述 1.1.1 什么是 JSP? JSP 全称是 Java Server Pages ,是一种 动态网页开发技术 。 它与 PHP、ASP、ASP.NET 等语言类似, 运行在服务端 的语言。 JSP 是一种 Java Servlet,主要用于实现 Java Web 应用程序的用户界面部分。 JSP 技术 以 Java 语言作为脚本 ,它使用JSP标签在HTML网页中插入Java代码。标签通常以 <% 开头以 %> 结束。 JSP文件后缀名为( *.jsp )。 JSP开发的WEB应用 可以跨平台 使用,既可以运行在Linux上也能运行在Window上。 1.1.2 JSP 的优点 与 ASP 相比: 动态部分用 Java 编写,所以更加强大易用 可以移植到多种不同的服务器和操作系统 与 PHP 相比: 更好的工具支持 与 Servlet 相比: 创建 HTML 更方便 与 Javascript 相比: 虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。 1.2 工作原理 1.2

request对象和response对象

北城以北 提交于 2020-01-16 13:43:38
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象 HttpServletResponse HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。 1.向客户端输出中文数据(字节) package cn.lsl.response; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ResponseDemo1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

使用Servlet下载文件

拈花ヽ惹草 提交于 2020-01-16 13:42:45
一般文件的的上传和下载可以使用基本的I/O流实现。但是从开发的效率和程序运行的效率方面考虑,一般会采用第三方的组件完成文件的上传,而文件的下载则不需要第三方组件。下面介绍Servlet使用第三方组件上传文件和使用Servlet下载文件。 1.下载组件 在实际的Java Web的实际开发中,一般使用commons-fileupload和commons-io组件来完成文件的上传功能,这两个组件都是Apache开发维护的 下载地址:http://commons.apache.org/ 2.在项目中web-WebINF添加lib文件夹,然后将解压的jar包拷贝进来,还要右键项目添加依赖才会生效! 3.创建上传文件的页面(download.jsp) < % -- Created by IntelliJ IDEA . User : qzf Date : 2020 / 1 / 16 Time : 9 : 48 To change this template use File | Settings | File Templates . -- % > < % @ page contentType = "text/html;charset=UTF-8" language = "java" % > < html > < head > < title > 文件下载 < / title > < / head