A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

前情摘要

先来说一下写这篇博客的初衷,前段时间小明同学找我说最近去面试,为啥面试官总问一些“没有用”的东西呢?比如:谈谈你对某某框架的理解,说一下这个框架的原理。说一下这个工具的底层是怎么实现的?那个数据结构源码看过没有,谈谈你的理解?很显然,小明碰了一鼻子灰。

Java是最好的编程语言

大家都知道,相对于汇编语言,C等这些编程语言来说,java属于高级编程语言,随着技术的更迭,各种框架活跃在程序员的视野中,使用java语言开发项目变得越来越得心应手。以至于,我们不用关心底层是怎么实现的,spring boot的出现简单几句代码就能完成一个web项目的demo。这对于很多刚入门的程序员来说简直是不能再好了,但是,现在现在初级程序员的市场并不那么友好,一句程序员工资高!致使各行各业人都来分这块蛋糕,培训机构应运而生,为了让学员速成,可谓是,八仙过海各显神通,短短几个月的时间不可能完全覆盖,甚至来说,能会用就不错了。甚至有的已经就业的非科班出身的程序员不知道什么是servlet,这并不是危言耸听。如果让你不用任何框架搭建一个web项目的demo需要多长时间呢?

学而不思则罔

这里只是就事论事,不掺杂任何特殊情感,即便是科班出身的程序员,如果大学不好好读书,不知道servlet是什么也正常,我的意思是不管是不是科班出身,作为程序员有时间的话沉淀一下自己不是更好么,不管当初是何原因进入程序员的行列,如果不往下看,不考虑底层的话,技术容易达到瓶颈,坚持不下去可能会被淘汰或者再转行,毕竟你是用的而不是造的。这里不是提倡重复造轮子,不抬杠。理解的人应该都能有所体会吧,不理解的可能大家想法不同吧。

java web开发利器SpringMVC

趁着周末时间,整理了一个比较干净的servlet web demo,分享给大家,框架很方便,强如spring全家桶系列,那也是程序员开发的,虽说servlet web项目已经过时,但是正是因为它的年龄比较大,所以才相对接近所谓的web 框架的底层。大家常用的spring 框架的 MVC模块,也可称为SpringMVC框架,并没有离开servlet。可以比较一下,这个demo的web.xml和springMVC项目的web.xml。思考一下,无框架的项目和有框架的项目请求过程是怎么样的。搞清楚DispatcherServlet的职责。下面是部分web.xml代码



  • <!-- 配置Spring核心控制器 -->



  •         <servlet>



  •                 <servlet-name>springmvc</servlet-name>



  •                 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>



  •                 <init-param>



  •                         <param-name>contextConfigLocation</param-name>



  •                         <param-value>classpath:config/spring-mvc.xml</param-value>



  •                 </init-param>



  •                 <load-on-startup>10</load-on-startup>



  •         </servlet>



  •         <servlet-mapping>



  •                 <servlet-name>springmvc</servlet-name>



  •                 <url-pattern>*.do</url-pattern>



  •         </servlet-mapping>


下面是无框架的web.xml部分代码。



  • <servlet>



  •     <servlet-name>UserController</servlet-name>



  •     <servlet-class>com.wpp.controller.UserController</servlet-class>



  •   </servlet>



  • <servlet>



  •     <servlet-name>FindUserServlet</servlet-name>



  •     <servlet-class>com.wpp.controller.FindUserServlet</servlet-class>



  •   </servlet>







  •   <servlet-mapping>



  •     <servlet-name>UserController</servlet-name>



  •     <url-pattern>/servlet/UserController</url-pattern>



  •   </servlet-mapping>







  •   <servlet-mapping>



  •     <servlet-name>FindUserServlet</servlet-name>



  •     <url-pattern>/servlet/FindUserServlet</url-pattern>



  •   </servlet-mapping>


没有MVC框架,每写一个servlet都要在这里加配置,url-pattern是对外暴露的访问地址,servlet-class是servler的绝对路径。servlet-name可以自己决定,但是要保证上下一致性和唯一性。

接下来更新的博客,会分享一些自己看spring源码的心得和spring框架涉及的,代理模式,模板模式,工厂模式,单例模式等等。文中如有用词不当之处还请见谅。只是就事论事,不存在人群黑。

我的资源里有写好的demo(无框架版),需要的可自行下载。谢谢。




【转载】原文地址:https://blog.csdn.net/weixin_39214304/article/details/81055131


5 个回复

正序浏览
回复 使用道具 举报
回复 使用道具 举报
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马