Java教程

简历理论回顾之java web

本文主要是介绍简历理论回顾之java web,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.servlet解说?https://blog.csdn.net/qq_19782019/article/details/80292110

本质: 是用Java编写的服务器端程序, 运行于支持Java的应用服务器中, 主要功能在于交互式地浏览和修改数据,生成动态Web内容   servlet工作模式: 客户端发送请求至服务器 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器 服务器将响应返回客户端   Servlet技术的核心是Servlet,它是所有Servlet类必须直接或者间接实现的一个接口。 public class MyFirstServlrt implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("Servlet正在初始化"); } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { //专门向客服端提供响应的方法 System.out.println("Servlet正在提供服务"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("Servlet正在销毁"); } }   工作原理 Servlet接口定义了Servlet与servlet容器之间的契约。这个契约是:Servlet容器将Servlet类载入内存,并产生Servlet实例和调用它具体的方法。但是要注意的是,在一个应用程序中,每种Servlet类型只能有一个实例。 用户请求致使Servlet容器调用Servlet的Service()方法,并传入一个ServletRequest对象和一个ServletResponse对象。ServletRequest对象和ServletResponse对象都是由Servlet容器(例如TomCat)封装好的,并不需要程序员去实现,程序员可以直接使用这两个对象。 ServletRequest中封装了当前的Http请求,因此,开发人员不必解析和操作原始的Http数据。ServletResponse表示当前用户的Http响应,程序员只需直接操作ServletResponse对象就能把响应轻松的发回给用户。 对于每一个应用程序,Servlet容器还会创建一个ServletContext对象。这个对象中封装了上下文(应用程序)的环境详情。每个应用程序只有一个ServletContext。每个Servlet对象也都有一个封装Servlet配置的ServletConfig对象。  

Servlet 接口中定义的方法

public interface Servlet { void init(ServletConfig var1) throws ServletException; ServletConfig getServletConfig(); void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException; String getServletInfo(); void destroy(); }  

Servlet 的生命周期

其中,init( ),service( ),destroy( )是Servlet生命周期的方法。 1.init( ),当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用,就像人只能“出生”一次一样。我们可以利用init( )方法来执行相应的初始化工作。调用这个方法时,Servlet容器会传入一个ServletConfig对象进来从而对Servlet对象进行初始化。   2.service( )方法,每当请求Servlet时,Servlet容器就会调用这个方法。就像人一样,需要不停的接受老板的指令并且“工作”。第一次请求时,Servlet容器会先调用init( )方法初始化一个Servlet对象出来,然后会调用它的service( )方法进行工作,但在后续的请求中,Servlet容器只会调用service方法了。   3.destory,当要销毁Servlet时,Servlet容器就会调用这个方法,就如人一样,到时期了就得死亡。在卸载应用程序或者关闭Servlet容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。 Servlet 的其它两个方法 getServletInfo( ),这个方法会返回Servlet的一段描述,可以返回一段字符串。 getServletConfig( ),这个方法会返回由Servlet容器传给init( )方法的ServletConfig对象。  

servlet中service() doGet() doPost() 方法

在servlet中默认情况下,无论你是get还是post 提交过来 都会经过service()方法来处理,然后转向到doGet 或是doPost方法,我们可以查看HttpServlet 类的service方法如下 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getMethod(); if (method.equals(METHOD_GET)) { ... doGet(req, resp); ...   } else if (method.equals(METHOD_HEAD)) { long lastModified = getLastModified(req); maybeSetLastModified(resp, lastModified); doHead(req, resp);   } else if (method.equals(METHOD_POST)) { doPost(req, resp);   } else if (method.equals(METHOD_PUT)) { doPut(req, resp);   } else if (method.equals(METHOD_DELETE)) { doDelete(req, resp);   } else if (method.equals(METHOD_OPTIONS)) { doOptions(req,resp);   } else if (method.equals(METHOD_TRACE)) { doTrace(req,resp);   } else { ... } } 可见tomcat实现的service方法只是起到了调度请求的作用 如果我们重写了service方法, 父类HttpServlet中的service方法就会失效 那么这时service就不是用来转向的,而是用来处理业务的,现在不论你的客户端是用pos还是get来请求此servlet 都会执行service方法也只能执行servlet方法,不会去执行doPost或是doGet方法。     2.webservice解说? WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 比如银行端接口基本都是C语言编写,或者财政提供了接口,而银行想要远程调用,假若后端采用Java语言,那么如果想要调用这些接口,WebService就是很好的调用技术之一! soap:简单对象访问协议 SOAP有助于以独立于平台的方式访问对象、服务和服务器 XML+XSD:WebService平台中表示数据的格式是XML, xsd 定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型 wsdl:基于XML用于描述Web Service及其函数、参数和返回值的文件 4、如何发布一个webservice? A.定义SEI(接口) @webservice(类) @webMethod(暴露的方法) B.定义SEI的实现 C.发布Endpoint.publish(url,new SEI的实现对象) 5、如何请求一个webservice? A.根据wsdl文档生成客户端代码 jdk wsimport -keep wsdl路径 cxf wsdl2java wsdl路径 B.根据生成的代码调用webservice 找到wsdl文档中service标签的name属性对应的类,找到这个port标签的name属性,调用该方法即可   3.jdbc 加载机制? jdbcTemplate 解说? https://www.cnblogs.com/wrkjwl/p/9107954.html https://www.cnblogs.com/cage666/p/7295382.html   用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问 安装好数据库之后应用程序是不能直接使用数据库的,必须要通过相应的数据库驱动程序去和数据库打交道。其实也就是数据库厂商对JDBC接口的实现,即对Connection等常用接口的实现类的jar文件。 加载JDBC驱动程序 →建立数据库连接Connection → 创建执行SQL的语句Statement → 处理执行结果ResultSet → 释放资源   ** 既然JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 而多的这个template,就是模板,是Spring框架为我们提供的. 所以JDBCTemplate就是Spring对JDBC的封装,通俗点说就是Spring对jdbc的封装的模板 //二者工作原理 JDBC的原理就是通过Connection这个类获取数据库的连接, 然后通过PreparedStatement类处理SQL语句,再通过它的.setObject方法传入数据, 最后通过方法.executeUpdate()和.executeQuery()执行更新,这就是JDBC的基本原理。 JDBCTemplate帮我们省去了很多麻烦. ②指定数据库连接参数. 打开数据库连接. 预编译并执行SQL语句. 遍历查询结果(如果需要的话). 处理抛出的任何异常. 处理事务. 关闭数据库连接 那么JDBCTemplate怎么做到的,这就和spring有关系了 SpringIOC容器将管理数据库连接的数据源当作普通Java Bean一样管理, 然后将数据源注入封装类JdbcTemplate中,: JdbcTemplate的dataSource属性就是注入配置的数据源   JdbcTemplate对JDBC的差别在哪,即JdbcTemplate相较于jdbc的优点在哪里? jdbc需要每次进行数据库连接, 然后处理SQL语句,传值,关闭数据库. 甚至有时还可能会出现数据库忘记关闭导致连接被占用. 在以后的工作中,客户的需求肯定不是一成不变的,这就导致经常会改动数据库内容. 通过JDBCtemplate我们只需更改需要更改的那一部分内容就可以了,不需要进行全局修改. Spring将替我们完成所有的JDBC底层细节处理工作.      
这篇关于简历理论回顾之java web的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!