架构探险——从零开始写Java Web框架

$32.00 In Stock
Ships from China Arrives in 10-15 business days
Item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Delivery:
09
July2026
-
16
July2026
delivery Delivery Guarantee arrow
check$5 Credit If Delayed
checkFull Refund If Item Is Damaged
check15-Day Full Refund If No Updates
check30-Day Full Refund If Not Delivered
架构探险——从零开始写Java Web框架

架构探险——从零开始写Java Web框架

$32.00

Product Details
编辑推荐
 
内容简介
本书首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA、Maven、Git 等开发工具搭建 Java Web 应用;接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean 容器、IoC 框架、MVC 框架,所涉及的代码也是整个框架的核心基础。为了使框架具备 AOP 特性,从代理技术讲到 AOP 技术,从 ThreadLocal 技术讲到事务控制技术。*后对框架进行优化与扩展,通过对现有框架的优化,使其可以提供更加完备的功能,并以扩展 Web 服务插件与安全控制插件为例,教会读者如何设计一款可扩展的Web应用框架。
目  录
第1章 从一个简单的Web应用 1
正所谓“工欲善其事,必先利其器”,在正式开始设计并开发我们的轻量级Java Web框架之前,有必要首先掌握以下技能:
使用IDEA搭建并开发Java项目;
使用Maven自动化构建Java项目;
使用Git管理项目源代码。
1.1 使用IDEA创建Maven项目 3
1.1.1 创建IDEA项目 3
1.1.2 调整Maven配置 3
1.2 搭建Web项目框架 5
1.2.1 转为Java Web项目 5
1.2.2 添加Java Web的Maven依赖 6
1.3 编写一个简单的Web应用 10
1.3.1 编写 Servlet类 10
1.3.2 编写JSP页面 11
前  言


其实一开始黄勇找我为他的处女作写序的时候,我是拒绝的。因为你不能让我写,我马上就写。我要先看一下书,因为我不愿意写完后发现书很烂,然后读者来骂我乱推荐。
黄勇一直是开源中国非常活跃的会员,非常积极地回答各种问题和分享自己所擅长的知识。本身也是 Smart Framework 框架的作者,积分居然过千,要知道开源中国上超过 1000 积分的会员寥寥无几。我和黄勇并没有见过面,仅通过线上的信息大概觉得他是一个热情、虚怀若谷又非常接地气的技术牛人。
回归正题,2015年是 Java 的 20 周年。Java 是一门让我们又爱又恨的编程语言,在编程语言界里算是一棵老树,关键是这棵老树还频频长出新枝。Java 8 的出现使其具备了各种流行的编程理念,而全新的 Java 9 也已经奠定了Java发展的里程碑并将于2016年下半年发布正式版本。说起又爱又恨,在 Java *火热的那几年里,满世界的 SSH (Struts Spring Hibernate),所有人都在讨论 SSH 框架里的奇技淫巧,也出现了各种图书和培训教程。很多初学者认为 Java = SSH,学 Java 就是学 SSH,以至于很多人用 SSH 做了不少项目,但依然对 Java、HTTP 等基础知识一知半解、不甚了了。
在线试读

其实一开始黄勇找我为他的处女作写序的时候,我是拒绝的。因为你不能让我写,我马上就写。我要先看一下书,因为我不愿意写完后发现书很烂,然后读者来骂我乱推荐。
黄勇一直是开源中国非常活跃的会员,非常积极地回答各种问题和分享自己所擅长的知识。本身也是 Smart Framework 框架的作者,积分居然过千,要知道开源中国上超过 1000 积分的会员寥寥无几。我和黄勇并没有见过面,仅通过线上的信息大概觉得他是一个热情、虚怀若谷又非常接地气的技术牛人。
回归正题,2015年是 Java 的 20 周年。Java 是一门让我们又爱又恨的编程语言,在编程语言界里算是一棵老树,关键是这棵老树还频频长出新枝。Java 8 的出现使其具备了各种流行的编程理念,而全新的 Java 9 也已经奠定了Java发展的里程碑并将于2016年下半年发布正式版本。说起又爱又恨,在 Java *火热的那几年里,满世界的 SSH (Struts Spring Hibernate),所有人都在讨论 SSH 框架里的奇技淫巧,也出现了各种图书和培训教程。很多初学者认为 Java = SSH,学 Java 就是学 SSH,以至于很多人用 SSH 做了不少项目,但依然对 Java、HTTP 等基础知识一知半解、不甚了了。
在 Web 开发方面,Java 经历了这么几个阶段,从*开始使用大量 Servlet 来处理各种业务逻辑,然后出现了著名的 Struts 框架,大大简化了 Web 应用的开发以及配置,而后是 Hibernate 和 Spring 的出现,使这三者成为三驾马车,并一直流行到现在。
而如今,确切地说应该是*近几年,Java 用户开始回归理性。由于 SSH 在不断发展的同时,体积也变得越来越庞大,很多人在使用的过程中被各种配置、注解弄得头昏脑涨。而前些年 Ruby on Rails 框架以其“惯例优于配置”的理念让我们猛然清醒——原来 Web 的开发就应该这么简单。于是越来越多的 Java 开发者开始考虑轻量级框架解决方案。而黄勇的 Smart Framework 就是这种轻量级解决方案之一。
Java 的世界从来不缺乏各种优秀的开源软件,理念成熟后大量的轻量级 Web 框架如雨后春笋般出现在我们眼前。在开源中国网站上你会发现 Java 的 Web 框架有超过 300 款之多。那么多的框架对初学者来说简直是噩梦。于是三年前我写了一篇文章《初学 Java Web 开发,请远离各种框架,从 Servlet 开发》,今天一看,这篇文章居然超过了21万阅读量。这篇文章是针对 Java 初学者的,因为很多人为了学习各种框架而疲于奔命,但却从来没有思考为什么同样是做开发的,自己要比别人更累。*根本原因在于方法不对,事倍功半!
书摘插画
插图

Shipping Overview: 

Shipping: Standard Domestic Shipping within the United States charges first item USD 5.99 and additional item USD 3.0 each. Standard International Shipping from United Kingdom, Germany, Italian and Japan to the United States charges first item USD 9.99 and additional item USD 4.0 each.

Import Duty: Everymarket collects applicable duties and taxes on goods imported into the U.S. at checkout, it's calculated based on the goods value multiply by the rate. For United Kingdom and China goods is 10%, Germany, Italian and Japan goods is 15%. We are committed to making your U.S. shopping experience simple and transparent. The method of delivery—either Delivered Duty Paid (DDP) or Delivered Duty Unpaid (DDU)—depends on whether duties and taxes are collected at the time of your purchase.

Order Processing: Please allow 1-2 business days for order processing and preparation before shipment. 

Domestic Shipping: Orders within the U.S. are shipped via USPS or FedEx, depending on the origin of the product. Average transit times to the United States is 3 - 7 Business days and average transit times to International is 7 - 14 Business days 

International Shipping: Currently, we only ship within the USA. 

Tracking Information: Every order is trackable. You will receive a tracking number once your order has been shipped. Products may be shipped from various global fulfillment centers.

Shipping Delays: 

Please note that shipping times may vary due to factors beyond our control, such as weather conditions, natural disasters, or peak holiday periods. While we strive to ensure timely delivery, the exact arrival time cannot be guaranteed and is managed by the shipping carrier.

Shipping Options:

  • Standard Delivery: Most orders are shipped within 3-7 business days. Larger items may utilize LTL shipping for safe handling.

  • Handling Time: We handle shipments on business days (Monday - Friday), with a preparation time of 1-2 days.

  • Additional Charges: Some items require additional shipping charges due to their size, weight, or special handling. These charges are specified on the product pages and are not eligible for shipping discounts.

  • Exclusions: Gift cards, packaging, taxes, and prior purchases do not count toward the minimum purchase requirement for free shipping. This offer is valid only for shipments to U.S. addresses, including Puerto Rico.

Delivery Details:

  • Estimates: Standard shipping within the US typically takes 3-7 business days. These are estimates and not guarantees.

  • Shipping Restrictions: We ship to all 50 states, Washington, DC, U.S. territories, and APO/FPO/DPO addresses. Shipping options vary based on the delivery address.

  • Remote Areas: Shipments to remote areas may incur additional charges or require pickup from a nearby shipping partner’s location.

Shipping Confirmation:

You will receive a shipping confirmation email with a tracking number as soon as your order is dispatched. If you do not receive this email immediately, please be assured that your items will arrive within the estimated delivery window provided at checkout.

Order Modifications:

If you need to cancel or modify your order, please contact our customer support immediately.

Issues with Delivery:

If your order shows as delivered but you have not received it, please contact the shipping carrier directly to resolve the issue. For persistent problems, contact our customer service at cs@everymarket.com.

Customer Support:

Our team is available 24/7 to assist you with any questions or concerns regarding your order. We are committed to ensuring a smooth shopping experience.

Return & Refund Policy Overview

Please review our return and refund policies below to ensure a smooth transaction process.

Return Policy

  • Duration: You have 30 days from receiving your item to initiate a return.

  • Condition: Items must be unworn, unwashed, with original tags and packaging intact.

  • Shipping Costs: Please contact us to initiate your return, we'll offer return label for free. Otherwise we are not responsible for the return shipping costs of the items.

  • Packaging: Ensure returned items are well-packaged to avoid damage during transit.

  • Tracking: Use a trackable and insured shipping method as we are not liable for items lost or damaged on return.

  • Initiating a Return: Contact us at cs@everymarket.com to start your return. We will provide a return shipping label and instructions upon approval. Returns without prior approval will not be accepted.

How to Return

  • Method: Returns must be sent back by mail to the address provided in the return instructions.

Return Label

  • Please contact us to get return labels.

Product Conditions for Return

  • Eligible Products: Returns are only accepted for items in new condition.

Nonreturnable Items

Certain items are not eligible for return:

  • Electronic devices after 30 days (e.g., computers, laptops, Kindles)

  • Gift cards, prepaid game cards

  • Perishable goods, live insects, some jewelry, some health and personal care items

  • Customized or personalized products

  • Items with special shipping restrictions

Refund Policy

  • Window: Eligible products may be returned within 30 days of delivery for a refund.

  • Refund Method: Refunds are processed to the original payment method or as store credit for items purchased with gift cards.

  • Processing Time: Refunds are processed within 3-5 business days after we receive the return; please allow additional time for shipping and bank processing.

Claims

Inspect your order upon arrival and report any defects, damages, or incorrect items immediately to allow us to address the issue. For claims, contact our support team with details of the issue.

Exchange Policy

For the quickest service, return your original item and place a new order for the desired product once your return is accepted.

Return Address

EveryMarket Customer Service 2101 E Terra Ln, O'Fallon, MO 63366

Customer Support

Available 24/7 for any questions or assistance needed:

  • Phone: +1 (800) 660-3783

  • Email: cs@everymarket.com

 

编辑推荐
 
内容简介
本书首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA、Maven、Git 等开发工具搭建 Java Web 应用;接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean 容器、IoC 框架、MVC 框架,所涉及的代码也是整个框架的核心基础。为了使框架具备 AOP 特性,从代理技术讲到 AOP 技术,从 ThreadLocal 技术讲到事务控制技术。*后对框架进行优化与扩展,通过对现有框架的优化,使其可以提供更加完备的功能,并以扩展 Web 服务插件与安全控制插件为例,教会读者如何设计一款可扩展的Web应用框架。
目  录
第1章 从一个简单的Web应用 1
正所谓“工欲善其事,必先利其器”,在正式开始设计并开发我们的轻量级Java Web框架之前,有必要首先掌握以下技能:
使用IDEA搭建并开发Java项目;
使用Maven自动化构建Java项目;
使用Git管理项目源代码。
1.1 使用IDEA创建Maven项目 3
1.1.1 创建IDEA项目 3
1.1.2 调整Maven配置 3
1.2 搭建Web项目框架 5
1.2.1 转为Java Web项目 5
1.2.2 添加Java Web的Maven依赖 6
1.3 编写一个简单的Web应用 10
1.3.1 编写 Servlet类 10
1.3.2 编写JSP页面 11
前  言


其实一开始黄勇找我为他的处女作写序的时候,我是拒绝的。因为你不能让我写,我马上就写。我要先看一下书,因为我不愿意写完后发现书很烂,然后读者来骂我乱推荐。
黄勇一直是开源中国非常活跃的会员,非常积极地回答各种问题和分享自己所擅长的知识。本身也是 Smart Framework 框架的作者,积分居然过千,要知道开源中国上超过 1000 积分的会员寥寥无几。我和黄勇并没有见过面,仅通过线上的信息大概觉得他是一个热情、虚怀若谷又非常接地气的技术牛人。
回归正题,2015年是 Java 的 20 周年。Java 是一门让我们又爱又恨的编程语言,在编程语言界里算是一棵老树,关键是这棵老树还频频长出新枝。Java 8 的出现使其具备了各种流行的编程理念,而全新的 Java 9 也已经奠定了Java发展的里程碑并将于2016年下半年发布正式版本。说起又爱又恨,在 Java *火热的那几年里,满世界的 SSH (Struts Spring Hibernate),所有人都在讨论 SSH 框架里的奇技淫巧,也出现了各种图书和培训教程。很多初学者认为 Java = SSH,学 Java 就是学 SSH,以至于很多人用 SSH 做了不少项目,但依然对 Java、HTTP 等基础知识一知半解、不甚了了。
在线试读

其实一开始黄勇找我为他的处女作写序的时候,我是拒绝的。因为你不能让我写,我马上就写。我要先看一下书,因为我不愿意写完后发现书很烂,然后读者来骂我乱推荐。
黄勇一直是开源中国非常活跃的会员,非常积极地回答各种问题和分享自己所擅长的知识。本身也是 Smart Framework 框架的作者,积分居然过千,要知道开源中国上超过 1000 积分的会员寥寥无几。我和黄勇并没有见过面,仅通过线上的信息大概觉得他是一个热情、虚怀若谷又非常接地气的技术牛人。
回归正题,2015年是 Java 的 20 周年。Java 是一门让我们又爱又恨的编程语言,在编程语言界里算是一棵老树,关键是这棵老树还频频长出新枝。Java 8 的出现使其具备了各种流行的编程理念,而全新的 Java 9 也已经奠定了Java发展的里程碑并将于2016年下半年发布正式版本。说起又爱又恨,在 Java *火热的那几年里,满世界的 SSH (Struts Spring Hibernate),所有人都在讨论 SSH 框架里的奇技淫巧,也出现了各种图书和培训教程。很多初学者认为 Java = SSH,学 Java 就是学 SSH,以至于很多人用 SSH 做了不少项目,但依然对 Java、HTTP 等基础知识一知半解、不甚了了。
在 Web 开发方面,Java 经历了这么几个阶段,从*开始使用大量 Servlet 来处理各种业务逻辑,然后出现了著名的 Struts 框架,大大简化了 Web 应用的开发以及配置,而后是 Hibernate 和 Spring 的出现,使这三者成为三驾马车,并一直流行到现在。
而如今,确切地说应该是*近几年,Java 用户开始回归理性。由于 SSH 在不断发展的同时,体积也变得越来越庞大,很多人在使用的过程中被各种配置、注解弄得头昏脑涨。而前些年 Ruby on Rails 框架以其“惯例优于配置”的理念让我们猛然清醒——原来 Web 的开发就应该这么简单。于是越来越多的 Java 开发者开始考虑轻量级框架解决方案。而黄勇的 Smart Framework 就是这种轻量级解决方案之一。
Java 的世界从来不缺乏各种优秀的开源软件,理念成熟后大量的轻量级 Web 框架如雨后春笋般出现在我们眼前。在开源中国网站上你会发现 Java 的 Web 框架有超过 300 款之多。那么多的框架对初学者来说简直是噩梦。于是三年前我写了一篇文章《初学 Java Web 开发,请远离各种框架,从 Servlet 开发》,今天一看,这篇文章居然超过了21万阅读量。这篇文章是针对 Java 初学者的,因为很多人为了学习各种框架而疲于奔命,但却从来没有思考为什么同样是做开发的,自己要比别人更累。*根本原因在于方法不对,事倍功半!
书摘插画
插图

Shipping Overview: 

Shipping: Standard Domestic Shipping within the United States charges first item USD 5.99 and additional item USD 3.0 each. Standard International Shipping from United Kingdom, Germany, Italian and Japan to the United States charges first item USD 9.99 and additional item USD 4.0 each.

Import Duty: Everymarket collects applicable duties and taxes on goods imported into the U.S. at checkout, it's calculated based on the goods value multiply by the rate. For United Kingdom and China goods is 10%, Germany, Italian and Japan goods is 15%. We are committed to making your U.S. shopping experience simple and transparent. The method of delivery—either Delivered Duty Paid (DDP) or Delivered Duty Unpaid (DDU)—depends on whether duties and taxes are collected at the time of your purchase.

Order Processing: Please allow 1-2 business days for order processing and preparation before shipment. 

Domestic Shipping: Orders within the U.S. are shipped via USPS or FedEx, depending on the origin of the product. Average transit times to the United States is 3 - 7 Business days and average transit times to International is 7 - 14 Business days 

International Shipping: Currently, we only ship within the USA. 

Tracking Information: Every order is trackable. You will receive a tracking number once your order has been shipped. Products may be shipped from various global fulfillment centers.

Shipping Delays: 

Please note that shipping times may vary due to factors beyond our control, such as weather conditions, natural disasters, or peak holiday periods. While we strive to ensure timely delivery, the exact arrival time cannot be guaranteed and is managed by the shipping carrier.

Shipping Options:

  • Standard Delivery: Most orders are shipped within 3-7 business days. Larger items may utilize LTL shipping for safe handling.

  • Handling Time: We handle shipments on business days (Monday - Friday), with a preparation time of 1-2 days.

  • Additional Charges: Some items require additional shipping charges due to their size, weight, or special handling. These charges are specified on the product pages and are not eligible for shipping discounts.

  • Exclusions: Gift cards, packaging, taxes, and prior purchases do not count toward the minimum purchase requirement for free shipping. This offer is valid only for shipments to U.S. addresses, including Puerto Rico.

Delivery Details:

  • Estimates: Standard shipping within the US typically takes 3-7 business days. These are estimates and not guarantees.

  • Shipping Restrictions: We ship to all 50 states, Washington, DC, U.S. territories, and APO/FPO/DPO addresses. Shipping options vary based on the delivery address.

  • Remote Areas: Shipments to remote areas may incur additional charges or require pickup from a nearby shipping partner’s location.

Shipping Confirmation:

You will receive a shipping confirmation email with a tracking number as soon as your order is dispatched. If you do not receive this email immediately, please be assured that your items will arrive within the estimated delivery window provided at checkout.

Order Modifications:

If you need to cancel or modify your order, please contact our customer support immediately.

Issues with Delivery:

If your order shows as delivered but you have not received it, please contact the shipping carrier directly to resolve the issue. For persistent problems, contact our customer service at cs@everymarket.com.

Customer Support:

Our team is available 24/7 to assist you with any questions or concerns regarding your order. We are committed to ensuring a smooth shopping experience.

Return & Refund Policy Overview

Please review our return and refund policies below to ensure a smooth transaction process.

Return Policy

  • Duration: You have 30 days from receiving your item to initiate a return.

  • Condition: Items must be unworn, unwashed, with original tags and packaging intact.

  • Shipping Costs: Please contact us to initiate your return, we'll offer return label for free. Otherwise we are not responsible for the return shipping costs of the items.

  • Packaging: Ensure returned items are well-packaged to avoid damage during transit.

  • Tracking: Use a trackable and insured shipping method as we are not liable for items lost or damaged on return.

  • Initiating a Return: Contact us at cs@everymarket.com to start your return. We will provide a return shipping label and instructions upon approval. Returns without prior approval will not be accepted.

How to Return

  • Method: Returns must be sent back by mail to the address provided in the return instructions.

Return Label

  • Please contact us to get return labels.

Product Conditions for Return

  • Eligible Products: Returns are only accepted for items in new condition.

Nonreturnable Items

Certain items are not eligible for return:

  • Electronic devices after 30 days (e.g., computers, laptops, Kindles)

  • Gift cards, prepaid game cards

  • Perishable goods, live insects, some jewelry, some health and personal care items

  • Customized or personalized products

  • Items with special shipping restrictions

Refund Policy

  • Window: Eligible products may be returned within 30 days of delivery for a refund.

  • Refund Method: Refunds are processed to the original payment method or as store credit for items purchased with gift cards.

  • Processing Time: Refunds are processed within 3-5 business days after we receive the return; please allow additional time for shipping and bank processing.

Claims

Inspect your order upon arrival and report any defects, damages, or incorrect items immediately to allow us to address the issue. For claims, contact our support team with details of the issue.

Exchange Policy

For the quickest service, return your original item and place a new order for the desired product once your return is accepted.

Return Address

EveryMarket Customer Service 2101 E Terra Ln, O'Fallon, MO 63366

Customer Support

Available 24/7 for any questions or assistance needed:

  • Phone: +1 (800) 660-3783

  • Email: cs@everymarket.com

 

Oops!

Sorry, it looks like some products are not available in selected quantity.

OK