Java EE

SpringBoot笔记

风格不统一 提交于 2021-02-13 09:37:10
1. 今日大纲 1、 了解Spring的发展 2、 掌握Spring的java配置方式 3、 学习Spring Boot 4、 使用Spring Boot来改造购物车系统 2. Spring的发展 2.1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。 2.2. Spring2.x时代 随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。 那么,问题来了,究竟是应该使用xml还是注解呢? 最佳实践: 1、 应用的基本配置用xml,比如:数据源、资源文件等; 2、 业务开发用注解,比如:Service中注入bean等; 2.3. Spring3.x到Spring4.x 从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean,现在我们就处于这个时代,并且Spring4.x和Spring boot都推荐使用java配置的方式。 3. Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。 3.1. @Configuration 和 @Bean

Java Server Page

丶灬走出姿态 提交于 2021-02-13 07:58:17
Java Server Page 一、JSP起源   在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。   如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护都将非常困难。   对大量静态内容的美工设计和相关HTML语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行。网页美工设计和制作人员不懂Java编程,更是无法来完成这样的工作。   为了弥补 Servlet 的缺陷,SUN公司在Servlet的基础上推出了JSP(Java Server Pages)技术作为解决方案。   JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用Java代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式编写。 二、建立对JSP的直观认识   JSP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp。   在JSP页面中编写的Java代码需要嵌套在<%和%>中,嵌套在<%和%>之间的Java代码被称之为脚本片段(Scriptlets),没有嵌套在<%和%>之间的内容被称之为JSP的模版元素。  

Nginx搭建负载均衡集群

送分小仙女□ 提交于 2021-02-13 07:18:55
(1).实验环境 youxi1  192.168.5.101  负载均衡器 youxi2  192.168.5.102  主机1 youxi3  192.168.5.103  主机2 (2).Nginx负载均衡策略   nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的请求。一个基本的upstream模块如下: upstream [服务器组名称]{   server [IP地址]:[端口号];   server [IP地址]:[端口号];   .... }   在upstream模块配置完成后,要让指定的访问反向代理到服务器列表,格式如下: location ~ .*$ {   index index.jsp index.html;   proxy_pass http://[服务器组名称]; }   扩展:nginx的location配置规则: http://outofmemory.cn/code-snippet/742/nginx-location-configuration-xiangxi-explain   这样就完成了最基本的负载均衡,但是这并不能满足实际需求。目前Nginx的upstream模块支持6种方式的负载均衡策略(算法):轮询(默认方式)、weight(权重方式)、ip_hash(依据ip分配方式)、least_conn

(上海车牌)直系亲属沪牌过户流程2019新政(仅限夫妻、父母子女间)

限于喜欢 提交于 2021-02-13 07:02:09
   第一季: 必看要点:   1、个人客车沪牌额度流转只限:夫妻之间、父母子女之间。   2、个人和单位客车额度自启用之日起必须满三周年。   3、单一的沪牌额度(退牌单)不能转让,必须沪牌额度上到车辆上以后才可以申请转让(车与牌一起)。   4、沪牌过户转让“转入方”,要符合沪牌参拍拍卖竞价的资格。   5、将客车额度进行直接流转的“转出方”,3年内不得申请参加拍卖。   如果以1、2、3、4 ,有一条不符合,就没有必要往下阅读下去了,等所有条件都可以了在来申请直系亲属沪牌转入。   第二季: 沪牌转让申请登记:   1、沪牌车辆流转登记网址:http://222.66.64.161:8080/edTransApply/TransNotice.jsp   2、沪牌车辆流转结果查询:http://222.66.64.161:8080/edTransApply/TransApplyRstQry.jsp   申请人提交申请后,市交通委行政服务中心在20个工作日内告知审核结果(手机短信通知结果是否通过)。审核通过了,再请前往建国东路525号市交通委行政服务中心办理开具《在用额度转移变更审核单》(下图)。   第三季: 领沪牌额度转让审核单:   1、准备材料:   车辆行驶证、机动车登记证书、双方身份证、转入方驾驶证(外地人+居住证)、夫妻结婚证    重点: 带 好户口簿(

JavaWeb学习路线

给你一囗甜甜゛ 提交于 2021-02-13 05:25:13
Java web,是用Java技术来解决相关web互联网领域的技术综合。Web包括:web服务器和web客户端。Java在客户端的应用有Java applet,不过使用很少。Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。java技术对Web领域的发展注入了强大的动力。(摘自搜狗百科) Web(World Wide Web)即全球广域网,也称万维网,它是基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet查询和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网络结构。(摘自搜狗百科) JavaWeb三大组件: Servlet Java编写的服务器端程序 Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。 这个过程为: 1.客户端发送请求至服务器端; 2.服务器将请求信息发送至 Servlet; 3.Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求; 4.服务器将响应返回给客户端。 接受请求 相应数据 Filter 中文意思过滤器 拦截请求 对responset进行拦截检查 Filter 不是一个servlet

ServletContext

放肆的年华 提交于 2021-02-13 01:44:19
Web容器在启动时,它会为每个Web应用程序都创建一个对应的ServletContext,它代表当前Web应用,并且他被所有客户端共享。 ServletContext对象可以通过ServletConfig.getServletContext()方法获得对ServletContext对象的引用,也可以通过this.getServletContext()方法获得其对象的引用。 由于一个Web应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称为context域对象。 当web应用关闭,tomcat关闭或者web应用reload的时候,ServletContext对象会被销毁。 常用方法: 1、添加属性:setAttribute(String name,Object obj) 2、得到值:getAttribute(String name) 3、删除属性:removeAttribute(String name) 来源: oschina 链接: https://my.oschina.net/u/4131739/blog/4536263

javaweb之请求的转发和重定向

删除回忆录丶 提交于 2021-02-12 23:51:11
1.什么是请求转发和请求重定向? 请求转发: xxServlet收到请求,然后直接转发给yyServlet,然后yyServlet返回给客户端。整个过程中,客户端发出一个请求,收到一个响应。 重定向:xxServlet收到请求,然后发出一个响应给客户端,客户端立即又发送一个请求访问xxServlet中给的URL,即yyServlet的路径,然后yyServlet给客户端一个响应。整个过程中,客户端发出两个请求,收到两个响应。 2. 请求转发和请求重定向的实现方法 请求转发:利用RequestDispather接口中的forward方法实现请求转发。 请求重定向:利用HttpServletResponse的sendRedirect方法实现请求重定向。 2.1 请求转发 RequestDispather实例对象是由Servlet引擎创建的,它用于包装一个要被其他资源调用的资源,(例如Servlet,HTML文件,JSP文件等),并可以通过其中的方法将客户端的请求转发给所包装的资源。 示例代码如下: forwardTest.html <!DOCTYPE html> <html> <head> <title>forwardTest.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta

JavaWeb案例(三):使用response实现重定向

℡╲_俬逩灬. 提交于 2021-02-12 22:42:14
一、前言 其实javaweb案例前两个只不过是给我们练练手,复习复习基础用的。没有掌握也没有关系,然而 重定向 才是最重要的技术, 我们需要重点掌握重定向技术 。 二、实现重定向 一个web资源收到客户端请求后,他会通知客户端去访问另外一个web资源,这个过程就是 重定向 。 常见场景: 用户登录 void sendRedirect ( String var1 ) throws IOException ; 代码测试: @Override protected void doGet ( HttpServletRequest req , HttpServletResponse resp ) throws ServletException , IOException { /* resp.setHeader("Location","/r/img"); resp.setStatus(302); */ resp . sendRedirect ( "/r/img" ) ; //重定向 } 结果在浏览器中访问效果如下: 路径从 /red 自动跳转到 /img 三、面试题:重定向和请求转发的区别 相同点: 页面都会实现跳转 不同点: 请求转发时候,url不会产生变化 重定向时候,url地址栏会发生变化 四、使用重定向技术做一个小Demo 最开始我们要做好准备工作: 先创建一个Maven项目

笔记-JavaWeb学习之旅5

谁说胖子不能爱 提交于 2021-02-12 13:00:23
CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; public class C3P0Demo2 { public static void main(String[] args){ //创建连接池对象,使用多态 //不指定配置文件的名称,会连接默认配置 DataSource ds = new ComboPooledDataSource(); //使用getConnection方法获取连接 try{ //归还连接对象演示 //文件默认配置了10个连接 for(int i = 0 ; i <10 ; i++){ Connection c = ds.getConnection(); //i<5个的话不会报错 //i<11的话会报异常 An attempt by a client to checkout a Connection has timed out. System.out.println(i+""+c); //现在归连接 if(i==5){ c.close(); //运行正常

Tomcat源码分析 (二)----- Tomcat整体架构及组件

坚强是说给别人听的谎言 提交于 2021-02-12 09:38:05
前言 Tomcat的前身为Catalina,而Catalina又是一个轻量级的Servlet容器。在美国,catalina是一个很美的小岛。所以Tomcat作者的寓意可能是想把Tomcat设计成一个优雅美丽且轻量级的web服务器。Tomcat从4.x版本开始除了作为支持Servlet的容器外,额外加入了很多的功能,比如:jsp、el、naming等等,所以说Tomcat不仅仅是Catalina。 既然Tomcat首先是一个Servlet容器,我们应该更多的关心Servlet。 那么,什么是Servlet呢? 在互联网兴起之初,当时的Sun公司(后面被Oracle收购)已然看到了这次机遇,于是设计出了Applet来对Web应用的支持。不过事实却并不是预期那么得好,Sun悲催地发现Applet并没有给业界带来多大的影响。经过反思,Sun就想既然机遇出现了,市场前景也非常不错,总不能白白放弃了呀,怎么办呢?于是又投入精力去搞一套规范出来,这时Servlet诞生了! 所谓Servlet,其实就是Sun为了让Java能实现动态可交互的网页,从而进入Web编程领域而制定的一套标准! 一个Servlet主要做下面三件事情: 创建并填充Request对象,包括:URI、参数、method、请求头信息、请求体信息等 创建Response对象 执行业务逻辑