Java 0框架web项目.回归原始Servlet+Jsp

前情摘要

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

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(无框架版),需要的可自行下载。谢谢。


猜你喜欢

转载自blog.csdn.net/weixin_39214304/article/details/81055131
今日推荐