为什么现在大多数网站是html结尾,很少见以jsp结尾

这个网址是不是政府网站,这个网站是不是真的,为什么后缀是.html

大家好,感谢邀请,今天来为大家分享一下为什么现在大多数网站是html结尾,很少见以jsp结尾的问题,以及和Springboot为什么不建议jsp的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

本文目录

  1. 为什么现在大多数网站是html结尾,很少见以jsp结尾
  2. Java开发如果不让使用spring框架,会有多大影响
  3. 没学过ssm能直接学习springboot吗
  4. springboot整合jsp找不到页面路径

为什么现在大多数网站是html结尾,很少见以jsp结尾

这个问题其实很好,其实,如果你弄明白了为啥,能帮助你更好的理解web。

谈为什么之前,我们先简单说一http工作的原理。当你在浏览器中输入网址的时候,实际上相当于输入了一条命令,格式如下。

协议://主机名[:端口]+参数

这个命令的意思是。用标注的协议所指定的方法,去链接主机的相应端口,参数是参数。

比如,当你输入http://www.google.com/的时候,实际是告诉浏览器用http的get方法,去访问www.google.com主机的80端口,参数是"/",也就是get/

这个时候,在googl的服务器上,必须有一个程序来随时监听客户端发来的消息,然后给出相应的返回值。比如,当接受到get/时,应该返回什么。

所以,在以前还没有动态网站的时候,web服务程序(比如IIS)会把参数和指定目录(网站根目录)下的文件一一对应起来。比如get/会直接返回根目录下的index.php

同理,当你访问/hello.html的时候,实际上是把字符串"/hello.html"传送到了服务器web程序,web程序会根据提前设定的网站根目录去寻找hello.html文件,并把这个文件返回给客户端。

这样通过文件夹组织结构,就形成了静态网站。但是后来我们需要用程序语言来处理复杂的逻辑怎么办。最初的解决办法就是在html文件中插入特殊的标签,并且保存成相应的扩展名。

比如我在html中插入java语句,并保存成hello.jsp,放在网站根目录下。

这个时候,当你get/hello.jsp的时候,tomcat程序会自动调用java来处理<%%>中间的语句,并且把整个.jsp转换成html,再返回到客户端。

这就是.jsp.php.asp这类网站的工作原理。

但是,你一定要明白一个事实,web服务程序返回相应的.jsp.html.php文件,一定要这样做吗。

当然不是,我前面说了,返回文件实际上是人为定义去做的。作为一个程序,你可以return任何东西。

我可以任意设计程序,让程序返回任何我想要的东西。

比如,我可以让get"/hello.html"返回字符串"helloworld",而这个时候我的服务器上根本不存在hello.html这个文件。

基于这样的原因,我们实际上可以用程序任意设计url,这个就叫做路由。而告诉程序某一个路由返回什么的过程,就叫路由绑定。

现代的web程序构架,你是根本无法直接访问html文件的,而是必须把路由绑定到某一个视图上去。因为这样可以把原来嵌入到html的java代码分离出来,写到特定的类中去,而不用混写。这样逻辑更清醒,维护更方便。这样的就叫做mvc.

以著名的springMVC举例,我们看一个小程序。

@RequestMapping("/hello"),就是路由绑定,他代表当你访问/hello时,会执行hello方法,而hello方法的返回值是字符串"hello",所以客户端会收到hello这个字符串。

不过,当你正确配置springMVC的时候,程序会自动在/WEB-INF/jsp/中寻找hello.jsp,然后返回。(注意,这得JSP和前面例子中的jsp有很大不同,详细请学习springMVC)。

这时你应该明白,如何返回完全是我自定义的。我完全可以修改程序@RequestMapping("/hello.jsp"),这样就像传统一样,通过/hello.jsp来返回hello.jsp,我也可以@RequestMapping("/a.jsp"),当你方向/a.jsp时,返回hello.jsp,我甚至可以令/hello.html返回hello.jsp.

所以,你现在应该明白为啥现在基本上看不到.jsp了吧。

第一现代符合MVC构架的网站,网址中的/x/xxx.xxx已经不代表真实目录和真实文件了。所以逻辑上没有必要出现.jsp。

第二现代MVC构架的网站,网址都是自己设计的,使用/hello.jsp和使用/hello是没有区别的,那为什么不用更短的。hello.jsp没有必要出现。

第三/hello.jsp仅仅是传递的一个字符串参数,实际上我可以用任何程序来处理。比如我可以很容易用python写出结尾是.jsp的网站。/hello.jsp可以完全是一个python网站。所以网址中的扩展名是没有必要存在的。你看到网站不是.jsp,但是他的后台可能仍然是java。

现代大多数网站,不管用什么语言,大多遵循了MVC的结构。所以,你基本上越来越看不到以n.jsp是啊

Java开发如果不让使用spring框架,会有多大影响

这个想法不错!如果没有spring,我们正常的一个项目应该怎么搭建和开发?

不允许使用Spring框架意味着搭建的项目不允许使用SpringBoot、SpringMVC、Spring这些Spring家族的框架,既然如此ORM框架我们也不要使用,在这样的限制条件下,项目应该如何搭建?日常CRUD应该如何开发?

心动不如行动,开始搭建,先创建一个简单的maven项目no_spring_example:

这个项目我们需要它具备如下的几个能力:

1、能够提供http接口访问能力;

2、能够操作MySQL数据库,支持事务,支持连接池;

3、能够操作redis;

4、可以部署在tomcat容器。

开始搭建中。。。

竟然花了我将近2个小时的时间,终于跑起来了,先看看项目整体架子:

相关包介绍:

org.example.conf:

DruidUtil:数据源配置,采用的是阿里巴巴开源的druid;MysqlBaseUtil:Mysql数据库的增、删、改、查基本操作,支持单次和批量;RedisUtil:redis操作工具类,采用的是JedisPool。

org.example.dao:

Test1Dao:这个就是对数据库里test1表的操作。

org.example.dispatcher:

StartupServlet:启动类Servlet,利用loda-on-startup来初始化加载WEB-INF/config目录的一些配置文件;Config:即加载servlet.conf文件中的配置信息,比如MySQL连接信息、redis连接信息

org.example.filter:

GolbalFilter:全局过滤器,web三大组件之一;

org.example.servlet:

Test1AddServlet:新增数据api;

让我们把它运行到tomcat容器中,然后访问接口:http://localhost:8080/no_spring_example_war/test1/add.do

返回成功了,查看数据库表数据:

这样我们的数据库操作就通了,一个完全没有Spring相关框架参与的小架子就搭建完毕!

由于篇幅原因,涉及到redis操作、数据库事务并没有展现,感兴趣的同学可以私信我获取该项目源代码,让我们一起回忆青春~

回到问题本身,没有spring框架,对我们开发有什么影响?

结合上面这个项目来看,确实需要我们自己做的事情比较多,比如:

参数的获取、校验、序列化成对象;数据的返回,反序列化成json;数据库的操作需要我们手写sql;连接池需要我们自己初始化,事务需要我们自己回滚;只能使用Filter、Interceptor,不再有强大的AOP,这个也需要你自己去实现;随着业务的复杂,我们需要集成其他功能,例如异步、中间件等都需要我们自己去开发;

用惯了Spring框架的我们,或许这个时候才知道它的好吧~

不过话说回来,如果真的在实际工作中不用Spring框架完成一个项目的话,你的基础能力一定会有很大的提升,包括工具类的抽取、对象的封装,基础组件的使用以及理解等,只要你是一个有追求的程序员~

框架虽好用,但是却容易蒙住我们的双眼。

最后,给你们再看一眼曾经多么熟悉的web.xml:

没学过ssm能直接学习springboot吗

谢谢邀请!

SpringBoot是可以直接学习的,而且SpringBoot是轻量级解决方案的代表,目前在Java开发领域有广泛的使用,特点是使用方便。

Spring经过多年的发展之后,逐渐形成了一个庞大的解决方案体系,使用起来也越来越繁琐,为了提高开发效率,Spring开发了SpringBoot。SpringBoot简化了配置的步骤,同时整合了Spring框架的众多特性。

在学习SpringBoot之前,需要具备以下Java开发知识:

第一:Java基础语法。Java基础语法的核心就在于对类和对象的理解,以及对封装、继承、多态的掌握。学习Java基础语法的重点在于对“抽象”的理解,理解了Java的抽象也就理解了Java的基本思想,Java的抽象包括类、接口、抽象类、enum等几个重点概念。另外,Java多线程也是一个学习的重点(我在头条上写了关于Java并发编程的系列文章,感兴趣的朋友可以看一下)。

第二:Java操作数据库。Web开发的一个重点内容就是数据库操作,数据库操作包括基本的Sql语言以及JDBC两个部分。数据库学习的重点在于对数据库资源的获取和使用上,包括驱动程序管理、容器管理、结果集管理、事务管理等内容。另外,数据库操作还涉及到一系列优化操作,比如预处理、存储过程调用、数据库连接池等内容。

第三:JavaWeb开发基础。JavaWeb开发基础包括前端和后端两部分内容,前端涉及到Html、JavaScript,后端涉及到Servlet、JSP、JavaBean、Filter等内容,虽然目前JSP应用较少,但是掌握JSP对于理解JavaWeb体系也是有一定帮助的,况且目前也有不少遗留项目需要采用JSP编写。

学习SpringBoot并不难,但是需要做大量的相关实验。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续在头条写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!

springboot整合jsp找不到页面路径

解决办法:

点击EditConfigurations

在Environment下找到Workingdirectory(有时候Environment是合上的,点击旁边的三角打开就可以找到Workingdirectory)

打开文件夹,找到你当前的项目,点击ok,然后在ok保存

这时,就可以重启我们的springboot项目了

再次访问jsp,就正常了!

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

8个最佳Web开发资源推荐

声明:本文内容来自互联网不代表本站观点,转载请注明出处:https://bk.oku6.com/12/122506.html

相关推荐