servlet

Tomcat学习笔记

一曲冷凌霜 提交于 2020-03-22 18:16:49
基本概念: tomcat是一个轻量级web应用服务器,servlet的容器,底层是Socket的一个程序 目的: 学过html,css之后,我们会知道自己写的页面只能自己访问,别人不能远程访问,Tomcat就是提供能够让别人访问自己写的页面的一个程序 适用场景: 中小型系统和并发访问用户不是很多的场合 目录结构: 运行流程: 图解简易版: 具体版: 1.通过脚本startup,调用java命令,参数时tomcat自己的main主函数 2.在main中处理逻辑,包括:解析webapps下所有的项目(绑定项目和项目url) (1)通过web.xml找到servlet配置信息,通过反射初始化servlet(有了new出来的servlet对象-->指项目中实现HServlet的相关接口的类对象 (a)检查web.xml中是否有metadata-complete=‘true’,默认是false (b)如果=false,还要进一步处理:target/artifactId-version/WEB-INF/calsses 中的所有类搜索servlet相关注解 (c)通过反射实例化这些servlet相关的 (2)调用 servlet 的 init() 进行初始化操作(ps:servlet生命周期中只初始化一次) (3)绑定对应项目的servlet和url(ps:url会在项目中的web.xml中设置

Tomcat源码分析

爷,独闯天下 提交于 2020-03-22 08:27:02
前言:   本文是我阅读了TOMCAT源码后的一些心得。 主要是讲解TOMCAT的系统框架, 以及启动流程。若有错漏之处,敬请批评指教! 建议:   毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架的。 所以得实践、实践、再实践。 建议下载一份TOMCAT的源码, 调试通过, 然后单步跟踪其启动过程。 如果有不明白的地方, 再来查阅本文, 看是否能得到帮助。 我相信这样效果以及学习速度都会好很多! 1. Tomcat的整体框架结构   Tomcat的基本框架, 分为4个层次。   Server和Service   Connector     HTTP     AJP   Container     Engine     Host     Context   Component     manager     logger     loader     pipeline     valve     ...    站在框架的顶层的是Server和Service   Server: 其实就是BackGroud程序, 在Tomcat里面的Server的用处是启动和监听服务端事件(诸如重启、关闭等命令。 在tomcat的标准配置文件:server.xml里面, 我们可以看到“<Server port="8005" shutdown=

四、JavaWeb总结:Servlet开发

送分小仙女□ 提交于 2020-03-21 11:50:59
3 月,跳不动了?>>> 一、Servlet简介   Servlet是sun公司提供的一门用于开发动态web资源的技术。   Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:   1、编写一个Java类,实现servlet接口。   2、把开发好的Java类部署到web服务器中。   按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet。 二、Servlet接口定义 1.1、Servlet 接口简介: javax.servlet.Servlet定义了所有servlet必须实现的方法。servlet是运行在一个Web服务器一个小的Java程序。servlet接收并响应来自Web客户端的请求,通常在HTTP、超文本传输协议。 要实现这个接口,可以编写一个通用的servlet来实现servlet javax.servlet。或者继承javax.servlet.http.HttpServlet GenericServlet或 javax.servletHttpServlet。 这个接口定义了方法来初始化一个servlet,service接收请求,和从服务器删除servlet。这些被称为生命周期方法和被称为在下列顺序: 1、servlet构造

ServletRequest、 HttpServletRequest、Request的联系与区别

泪湿孤枕 提交于 2020-03-21 09:40:33
一、 servlet理论上可以处理多种形式的请求响应形式 http只是其中之一 所以HttpServletRequest HttpServletResponse分别是ServletRequest和ServletResponse的之类二 、 HttpServletRequest和ServletRequest都是接口 HttpServletRequest继承自ServletRequest HttpServletRequest比ServletRequest多了一些针对于Http协议的方法。如 getHeader (String name), getMethod () , getSession () 等等。 他们对应的实现类: javax.servlet. ServletRequestWrapper (implements javax.servlet.ServletRequest) javax.servlet.http. HttpServletRequestWrapper (implements javax.servlet.http.HttpServletRequest) 三 、   所谓的request(在JSP中使用的)其实只是规范中的一个名称而已。它当然是一个对象,但并不是SUN提供的,这是由各个不同的Servlet提供商编写的

servlet的一些应用

≯℡__Kan透↙ 提交于 2020-03-21 07:44:47
Request 对象: 问题: 浏览器发起请求到服务器,会遵循HTTP 协议将请求数据发送给服务器。 那么服务器接受到请求的数据改怎么存储呢?不但要存,而且要保证完成性。 解决: 使用对象进行存储,服务器每接受一个请求,就创建一个对象专门的存储此次请求的请求数据。 request 对象解释: 服务器接收到浏览器的请求后,会创建一个 Request 对象,对象中存储了此次请求相关的请求数据。服务器在调用 Servlet 时会将创建的Request 对象作为实参传递给 Servlet 的方法,比如:service 方法。 使用: 获取请求头数据 获取请求行数据获取用户数据 读取 HTTP 头的方法 下面的方法可用在 Servlet 程序中读取 HTTP 头。这些方法通过 HttpServletRequest 对象可用。 方法 & 描述: Cookie[] getCookies() 返回一个数组,包含客户端发送该请求的所有的 Cookie 对象。 Object getAttribute(String name) 以对象形式返回已命名属性的值,如果没有给定名称的属性存在,则返回 null。 String getCharacterEncoding() 返回请求主体中使用的字符编码的名称。 String getContextPath() 返回指示请求上下文的请求 URI 部分。 String

xfire集成spring构建webservice

让人想犯罪 __ 提交于 2020-03-20 23:52:00
前言:xfire、spring都是比较流行的技术,这里就不再赘述他们各自的优点;本文着重介绍xfire和spring的整合,不会做太深入的探究。 服务端 1. web.xml配置 spring配置部分: contextConfigLocation定义配置文件路径,可以指定全局的配置文件路径。 <!-- spring配置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/xfire-servlet.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- spring配置 --> XFire配置部分: xfire配置1使用spring的DispatcherServlet类来作为xfire的处理类,DispatcherServlet的配置文件名默认为[servletname]-servlet,位于WEB-INF目录下

spring与axis2整合发布webservice

℡╲_俬逩灬. 提交于 2020-03-20 23:43:59
最近在研究整合spring框架和axis2发布webservice服务,由于本人也才学java不久,为了便于以后的查看,在这里记录下发布过程。   所需的工具包,spring.jar和axis2链接地址为http://pan.baidu.com/s/1gdgVBoB,这里发布服务只需要两个包,spring-framework-3.2.1.RELEASE-dist.zip和axis2-1.6.2-war.zip。首先解压axis2-1.6.2-war.zip,得到axis2.war文件,放入tomcat的webapps目录中,启动tomcat,浏览器中输入http://ip:端口号/axis2/出现 说明axis2运行成功,会在webapps中生成一个叫axis2的目录。接着在myeclipse中新建一个web工程,这里我取名为WjWebservice,工程目录结构 解压上面的两个包,将其中的jar包全部放入WebRoot/WEB-INF/lib目录中,在WEB-INF目录下新建conf和modules目录,将tomcat的webapps/axis2/WEB-INF下的conf和modules目录中的文件分别倒入在web工程中新建的conf和modules下。新建services目录,新建test(这个目录名字可以自己随便取)目录,新建META-INF目录,新建services

配置文件

倖福魔咒の 提交于 2020-03-20 23:22:29
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>hrm</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file

Log4J在Web应用中的使用

你。 提交于 2020-03-20 08:54:20
1、在web.xml中配置 <servlet> <servlet-name>log4j</servlet-name> <servlet-class>servlet.Log4JServlet</servlet-class> <init-param> <param-name>profile</param-name> <param-value>WEB-INF/log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 2、开发Log4JServlet public class Log4JServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 2546022776565494776L; public void init() { String prefix = this.getServletContext().getRealPath("/"); String file = this.getInitParameter("profile"); if (file != null) { PropertyConfigurator.configure(prefix +

Redis(六)-- SpringMVC整合Redis

爱⌒轻易说出口 提交于 2020-03-20 08:03:56
一、pom.xml 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>com.xbq.demo</groupId> 5 <artifactId>SpringRedisDemo</artifactId> 6 <packaging>war</packaging> 7 <version>0.0.1-SNAPSHOT</version> 8 <name>SpringRedisDemo Maven Webapp</name> 9 <url>http://maven.apache.org</url> 10 11 <!-- Spring版本号 --> 12 <properties> 13 <org.springframework.version>4.2.3.RELEASE</org.springframework.version> 14 <