servlet

JavaEEDay39 Tomcat

旧街凉风 提交于 2019-12-11 12:03:19
JavaEEDay39 Tomcat @toc 一、Tomcat从入门到熟悉 (一) B/S 和 C/S B/S:浏览器和服务器架构 www.baidu.com www.taobao.com 好处: 1 . 不需要符合各种平台环境的客户端,有浏览器就可以 2 . 更新方便,服务器更新,浏览器只要刷新就可以获取到最新的信息 ​ C/S: 客户端和服务器架构 QQ 微信 快手 LOL PUBG 好处: 1 . 用户体验比B/S略好 弊端: 1 . 如果要使用服务,必须装软件 2 . 服务器更新之后,要求客户端页随之更新 ​ 对于中小企业更多的会选择使用B/S HTML CSS JavaScript JavaEE MySQL/Oracle Tomcat Nginx (二) 什么是服务器 计算机:CPU 内存 硬盘 带宽 流量(带宽)最重要: 服务器除了硬件之外,还有软件: 这个软件是用来提供共享资源能力的,让网络端的电脑能够访问服务器 。例如 Tomcat Nginx apche 组织 产品有: WebLogic:BEA公司,收费的,完全支持JavaEE规范 WebSphere:IBM公司,收费的,完全支持JavaEE规范 JBoss: RedHat公司,收费的,完全支持JavaEE规范 Tomcat:Apche组织,完全免费开源的,支持我们能够使用到的JavaEE 部分规范,例如

SpringMVC拦截器

。_饼干妹妹 提交于 2019-12-11 11:40:09
SpringMVC拦截器类似于Servlet开发中的过滤器Filter,用于对处理进行预处理和后处理。 过滤器是servlet规范中的一部分,任何javaweb工程都可以使用。是在url-pattern中配置了/*之后,可以对 所有 要访问的资源拦截。(拦截所有) 拦截器是springMVC框架自己的,只是会拦截访问的控制器方法,如果访问的是jsp,html,image,js则不会拦截。 自定义拦截器必须实现:HandlerInterceptor接口。 来源: https://www.cnblogs.com/taiguyiba/p/12021469.html

8

不打扰是莪最后的温柔 提交于 2019-12-11 07:41:38
实现 Servlet 接口 package top.simba1949.servlet; import javax.servlet.*; import java.io.IOException; /** @author SIMBA1949 @date 2019/6/6 22:35 */ public class ServletImpl implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println(“初始化方法”); } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println(“业务逻辑代码”); } @Override public String getServletInfo() { return null; }

spring源码解读(二)基础篇之servlet3.1规范

你说的曾经没有我的故事 提交于 2019-12-11 06:00:10
目录 servlet接口 request servletContext response filter filter生命周期 filter环境 在Web应用中配置filter filter和RequestDispatcher 会话 Cookies URL 重写 会话完整性 注解 @WebServlet @WebFilter @WebInitParam @WebListener @MultipartConfig 其他注解/惯例 可插拔性 web fragment web.xml和web-fragment.xml顺序 可插拔性 web应用 Web应用程序部署 包含web.xml部署描述文件 servlet3.1规范中文版。 参考文章: Servlet 是基于 Java 技术的 web 组件,容器托管的,用于生成动态内容。    早期的Web应用主要用于浏览新闻等静态页面,Http服务器(比如Apache,Nginx)向浏览器返回静态HTML,浏览器负责解析HTML,将结果呈现给用户。   需求:为了不仅仅浏览静态页面,还希望通过一些交互操作,来获取动态结果。那么可以通过让HTTP服务器调用服务端程序来实现。   那么服务端如何来实现这个需求呢?   Sun公司就推出了Servlet技术。Servlet可以理解为运行在服务端的Java小程序,因为Servlet不能独立运行

Hessian远程调用

百般思念 提交于 2019-12-11 04:05:38
Hessian调用 简单说来,Hessian是一个轻量级的RPC框架(RPC是什么?) 你的题目是RPC框架,首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 它基于HTTP协议传输,使用Hessian二进制序列化,对于数据包比较大的情况比较友好。 但是它的参数和返回值都需要实现Serializable接口。参数值序列化是要把参数值序列化成二进制的形式, 使用: 1.首先在web下添加pom依赖 <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.51</version> </dependency> 2.在web.xml中添加配置 <!-- 远程调用接口 --> <servlet> <servlet-name>hessian</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-class<

servlet重点知识总结

我与影子孤独终老i 提交于 2019-12-11 01:04:48
Servlet Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。 Servlet任务 Servlet 执行以下主要任务: • 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。 • 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。 • 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。 • 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。 • 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。 Servlet生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是

Spring+MyBatis+SpringMVC整合

我的未来我决定 提交于 2019-12-10 21:31:49
主要的结构 先配置web.xml文件 <!-- 配置初始化参数,用于读取 spring的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置 spring mvc 的核心控制器 --> <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置初始化参数,用于读取 springmvc 的配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath

JSP、servlet、Tomcat

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-10 20:26:24
jsp动作:<jsp:include page="" flush=“true”> jsp指令:<%@include file=“a.jsp”%> 动作是在页面被访问时导入的,指令是在编译时导入的; 在指令中会编译为一个servlet类文件,在动作中会分为两个所以效率稍慢; <jsp:forward page="" > 跳转后,地址栏不变; page只能是web应用中的文件; jsp指令:page、include、taglib jsp动作:include、forward、param等等 JSP元素可以分为三大类:JSP指令元素、JSP动作元素、JSP脚本元素。 一、JSP指令元素仅仅是在“翻译”阶段使用的,即把JSP翻译成Servlet。 jsp内置对象:request、response、session、application、out、page、config; request: request.getRemoteAddress()获取用户IP request.getParameter(“name”)获取参数 request.setCharacterEncoding(“utf-8”) 请求头: accept:客户端能接收的MIME类型 accept-language:浏览器的首选语言 user-agent:客户端程序的相关信息;浏览器版本、系统版本等; host:服务器的主机号和端口号

关于Servlet出现乱码问题

别等时光非礼了梦想. 提交于 2019-12-10 19:58:16
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一般的处理乱码的方式都是用: request.setCharacterEncoding("GBK") 但是这种方法只对POST方法提交的表单才有效果。 网上资料显示:自从Tomcat5.x开始,GET和POST方法提交的信息,Tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。 而GET请求则不同,Tomcat对GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码, 因此,tomcat将会使用iso-8859-1将提交的字节转换成字符串。 鉴于此,提供一下三种解决方法: 1. 将GET请求改成POST请求,然后就可以使用request.setCharacterEncoding方法设置编码,并使用request.getParameter方法直接获得中文请求参数了,这种方法简单明了。 2. 不用改GET请求,在Servlet中使用如下的代码来得到中文请求参数。 String name = new String(request.getParameter("name")

零配置web.xml实现SSM框架(非Spring Boot方式)

自闭症网瘾萝莉.ら 提交于 2019-12-10 17:16:41
最近看了《Spring实战》这本书,书中提到Spring4.0以后推荐使用javaconfig配置方式,而公司的一个项目使用的是传统的XML配置方式,刚好可以拿来练练手。虽然现在Spring Boot越来越流行,极大的简化了配置过程,使大家不再是面向配置编程 [笑哭脸] ,但还是想研究一下纯javaconfig方式配置,以了解点更深层的东西,现在通过一个demo项目演示如何零配置web.xml实现SSM框架。 目录 1. 配置方式对比图 2. Spring MVC应用上下文配置 3. 添加过滤器Filter、监听器Listener和其他Servlet 4. DispatcherServlet配置类 配置拦截器 5. 根应用上下文配置类 6. MyBatis数据库配置 7. Redis缓存配置 8. 支持文件上传 9. CORS跨域请求配置 10. 定时任务配置 11. 完成业务代码 12. 测试结果 13. 总结 1. 配置方式对比图 该Demo项目我是使用maven构建的,Spring版本使用的是4.3.9,MySQL版本为8.0,开发工具使用的是IntelliJ IDEA,如何在idea中搭建maven+SpringMVC项目,网上教程很多,这里就不深入讨论了,下面的文章可以参考一下 《使用idea基于maven创建SpringMVC项目》 上面给出了这两种配置方式的对应文件图