当前位置:首页 » 网页前端 » javaweb入门
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javaweb入门

发布时间: 2022-03-05 07:59:51

1. 简单粗暴,详细得不要不要的 JavaWeb快速入门

1. 实验环境准备
(假设你已经装好了jdk,如果不会安装jdk,请参考这篇文章)
1.1 安装一个eclipse或者MyEclipse(本文以eclipse为例),其实所谓的安装就是网上去下载一个eclipse,然后解压一下就好了。
1.2安装tomcat,网上下载一个,然后解压一下。我这次使用的tomcat容器配的是8080端口。
1.3 将tomcat配置到eclipse中。具体步骤为:Window -- Preferences -- Server -- Runtime Environment -- Add 将tomcat解压后的路径配置上去就行了。
本文假设读者已经对tomcat,eclipse有一定的了解。
2. 新建web项目
首先,一言不合就打开eclipse

Paste_Image.png
我们新建一个项目,File -- new -- Dynamic Web Project。
项目名称是web,点击Next

Paste_Image.png

Paste_Image.png
build\classes是默认的编译目录,还是点击Next

Paste_Image.png
好的,最后点击Finish,一个web项目就建立好了。
目录结构

Paste_Image.png
2.啥叫JavaWeb项目,它能干嘛?
JavaWeb项目就是一个应用程序,你不要以为它有多么神秘。你每天打开的QQ就一个应用程序,你在手机上打开的微信,网络地图等等,这些都是应用程序。
不同的是,QQ是一个本地客户端程序,它需要你在自己的电脑上安装一个客户端,然后你打开QQ,可以登录,聊天。
QQ肯定也分客户端和服务端,我们电脑上装的就是客户端,你要知道的一点是,我们发送消息,发送到哪里去了呢?
没错,肯定是发送到QQ的服务器上了,那里保存着我们的所有数据。
想想也不可能在本地,因为我们在电脑上发送的消息,在手机QQ上不是也能看到吗?这就说明,肯定是上传到它的服务器然后保存下来了。
而Web项目是什么呢?
它也是一个应用程序,只不过它的客户端是运行在浏览器上的。
我们打开浏览器,访问一个地址,比如 http://www.jianshu.com/
这个就是我们的访问路径,我们通过这个URL向简书的服务器提交请求,然后服务器进行处理,给你回应。
接下来,我们就看到出来一个网页。
我们在这个网页上可以写文章,点赞,收藏,等等。
我们的每一步操作,其实都和服务器做了一个交互。
比如一个登录功能,当我们鼠标点击那个登录按钮,浏览器就向服务器提交了一个请求,服务器进行处理,然后操作数据库。最终,它会得出一个结果,就是说,到底能不能让你登录,总会有个说法。
如果你密码写错了,它可能就会得出一个用户名或密码错误的结论。然后,这个信息会从服务器返回到前台,前台就是浏览器。
所谓的前台就是你的浏览器,没什么神秘的。
前台接受到后台传过来的信息后,进行一些处理,然后给你个提示,比如,告诉你用户名或密码错误。
这就是一个完整的交互过程。
现在随着网速越来越好,浏览器的性能越来越强大,我想web肯定是未来的大趋势。毕竟,谁都不希望在电脑上安装一大堆客户端吧。
只用一个浏览器多好。
有了web,我只需要有一个浏览器,然后就能通过互联网获取我想要的资源了。这样不是很美妙吗?
近几年H5非常流行,尤其是移动端,因为手机浏览器基本上都支持css3。一样的道理,我们肯定也不希望在手机上安装一大堆应用,卡都卡死了,如果能直接访问一个网页,就能获得我想要的服务就好了。
而且现在WIFI也普遍了,如果以后流量能没有限制,那么APP的热度很可能会逐渐被web取代。
当然,现在是不太可能的,毕竟访问网页要流量啊,而我在手机上安装了APP,就好像电脑的QQ一样,大部分资源文件就在我本地,我不需要每次都去联网下载。比如图片,app就没事,因为就在本地,可是如果用web,我每次访问那个网页,就需要把图片重新下载一遍。这样不是很浪费流量吗?
3. 手工搭建web项目
现在,为了说明服务器和web项目的概念,我们先不用eclipse,来手工搭建一个web项目。
服务器,正常情况下就是一台配置高一点的电脑,除非是那种大型的专用服务器。
一般来说,所谓的服务器,就是电脑。
比如我现在有一台电脑,给他装了一个linux系统或者windos系统,然后我说,好了,从今以后,这就是服务器了。现在服务器一般都是用linux系统的。
那么tomcat又是什么?
tomcat其实也是一个应用程序,你网上下载的tomcat往往是一个压缩包,然后我们解压以后就相当于安装好了。
可以这么理解:
服务器就是一台电脑,而tomcat是一个容器,专门存放web项目的容器。
以下我都将tomcat称为tomcat容器。
我们看到在tomcat容器根目录下,有一个webapps文件夹
里面是这样的:

Paste_Image.png
好的,现在我要发布一个项目了,我只需要把一个已经做好的web项目往里面一丢就行了。
除了webapps,我们还发现一个bin目录。一般来说,可执行的文件都放在bin目录下。

Paste_Image.png
打开bin,找到一个startup.bat文件。这就是启动tomcat的东西,双击它,tomcat就被启动了。
然后,浏览器可以访问tomcat里面的项目。
现在我们来手工搭建一个web项目,首先,在webapps目录下新建一个文件夹,是的,就是文件夹,不管你项目是什么,肯定还是放在文件夹里面的。

Paste_Image.png
项目名称就叫做webapp。
打开webapp,根据web项目的规范,我们需要有一个WEB-INF文件夹。

Paste_Image.png
然后,在WEB-INF文件夹里面,必须要有一个web.xml文件。
xml文件,就是一个描述性的文件,我现在的观点如下:
XML = JavaBean = Json = HashMap
它无非就是描述一些东西,保存一些数据而已。
好的,我们在里面新建一个web.xml。这个文件非常重要,正因为它的存在,tomcat容器才会知道这个文件夹里面竟然是一个web项目。
否则,tomcat容器是不知道这个web项目的,它只会将myapp文件夹看做是一个文件夹而已。

Paste_Image.png
我们用记事本打开web.xml,将以下代码拷贝进去。
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

<?xml version="1.0" encoding="UTF-8"?>表示这是一个1.0版本的XML文件,编码为UTF-8。
<web-app></web-app>就是这个XML文件的一个根节点,就是告诉你,我这个xml文件里面,有一个东西叫做web-app。
XML的一个作用就是配置文件,web.xml本身就是一个配置文件。在web项目中,我们应用xml最多的也就是配置一些参数。
配置参数,就是给属性赋值嘛,没什么神秘的。
包括我们学习JavaSE,归根到底,一直在做的一件事就是new对象,然后调用方法,调用方法的目的一方面是做一些事情,另一方面不还是给属性赋值嘛。
你可以把web.xml看做是一个java类,类名叫做 webApp。它里面有两个属性,分别是display-name和welcome-file-list。
display-name是发布名称,也就是项目的名字。
welcome-file-list 是欢迎页面,就是说,当你在浏览器直接访问这个myapp项目,默认跳转的页面。
想象一下,应该会变得非常好理解。

2. java web开发如何学习

作者:动力节点
链接:https://www.hu.com/question
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

首先推荐一个专栏和文章

JavaWeb学习总结(一)--JavaWeb开发入门 - 孤傲苍狼 - 博客园

此文详细介绍了javaweb的总结和入门,读之大有裨益。

Java教程视频库--知乎专栏

此专栏,每日会更新java相关的知识技术,以及干货资源

下面,详细说说,如何学习web技术

1.html,css,javascript

先学习一些前端的基本知识,如果打算做后端开发的话,这部分快速看下。

2.jquery,vue,bootstrap

再进阶学习一些前端框架的知识,同样如果是打算做后端开发的话,这部分快速看下。

3.mysql等数据库

学习一些数据库方面的内容,数据库有很多种,可以先学mysql,网上教程多,把一个学会之后再学另一个会容易很多

4.学习jdbc,servlet,filter,listener,tomcat,ajax等相关知识

这部分知识相对比较重要,如果学好了,再学习后面框架的时候会容易很多。

5.框架部分,spring mvc,mybatis,spring,spring boot等

这部分知识比较重要,企业中大部分都会直接使用这些框架来开发

6.bbo,spring cloud,NGINX,redis,hbase,mq

如果是要做并发量较大的项目,还需要学习这些相关知识。

另外给你奉上学习路线图,其实说到系统,路线图是最系统的了。

web前端

可以开发基本的网页,并且可以看懂别人编写的HTML页面。详细讲解了什么是css ,层叠样式表。大量前端小案例、JavaScript事件处理、JavaScript对象、继承、JSON等知识点,学到这便开启WEB前端之路

3. 关于java web(我是初学者)

jsp与servlet不冲突,最好的方式是两者可以结合使用。

jsp用于页面展示,主要包含一些html代码和jsp的页面脚本
servlet用于处理一些逻辑,比如if判断和后台方法的调用,把计算好的结果set到request或session会话中,jsp页面就可以取到结果了。
先把java基础打好,再学jsp和servlet,J2EE范围很广,先从jsp、servlet学起。

4. JAVA WEB初学者!!!

根据你的图片看的路径login.jsp是在web-inf下面的。而index.jsp是在webRoot下的,webRoot是根路径,可以直接/index.jsp访问,而login.jsp则需要写到具体的/WEB-INF/login.jsp下面。

5. JAVA WEB开发 初学者!

先跟你说几个事情,后期好处理你多个问题。
1.src是源文件夹,这里你可以创建N个源文件夹,都是未来要编译的,你也可以创建一个源文件夹叫conf,把配置文件都放这里,但是前提struts1不可以(一会说为什么),也就是源文件夹是一类,等着编译的,那么编译到哪呢? 就是下面的
2.WebRoot\WEB-INF\classes有这个文件夹,编译的东西就在这,WEB-INF下这里只对程序员可见,对请求者也就是客户端不可见(默认就是classes和lib),所以有些项目为了不让用户直接访问JSP,就将JSP放这下面,用户只能请求控制层(以后我说C层),然后返回相应页面,当然,有的项目还有欢迎页,在web.xml里配置的,下面说它
3.web.xml,这个是Web项目中自带的,为什么自带?因为一个web项目在被部署(就是加载到WEB容器里,比如tomcat,jboss等)后,当启动web容器时,web.xml里面就会有几个标签被web容易所加载读取。并且这里有很多标签,加载也是有顺序的,会一个一个扫描,你刚学,什么顺序自己以后研究。
说第一个问题,首先我要说现在很少用Struts1,也就是教学用用,毕竟教学更新慢,至少现在都用struts2(以后简称S1,S2)。那个目录之所以一定要在那,是因为s1源码默认去那个路径找配置文件,如果你以后会s2,并且集成spring,你就知道配置文件路径可更改。
说第二个问题,这里WebRoot文件夹名字不是必须的,但是从它开始往下就是未来要发布出去的东西,就是所谓的前台展示,在代码中只要有关路径的地方以/开头,都是说从它往下开始,这样配置有一点好,就是未来其他路径变了,请求也不用变,因为是从所谓的相对中的绝对路径请求。
第三个问题我想不用过多解释,web.xml是属于web项目,并不属于某个技术,struts1的那个配置文件就属于s1框架的,s2的就叫struts.xml,记得框架源码都有一个默认加载的文件名和路径,你刚学就那么写就行,以后懂了就随意更改。
最后说下为什么有的把JSP放到不让直接访问,必须先走C层呢(s1和s2框架就是MVC框架),因为有好多页面要判断用户是否登录,如果没登录是不能直接访问的,必须要先登录,这样从C走,我就可以判断代码,要是直接访问页面,还得在页面里写小脚本判断。 通常先走C是对的,域名直接映射成C的请求。再有不懂追问,呵呵

6. JavaWeb学习路线

JavaWeb核心框架

  1. 持久层框架:Hibernate、iBATIS

  2. 表现层框架:Struts1、Struts2

  3. 业务层框架:Spring

  4. java学习路线图:

    1、Hibernate:ORM

    Hibernate是一个Java ORM开发框架

    ORM是Object Relation Mapping的缩写,顾名思义,即对象关系映射。

    ORM是一种以面向对象的方式来进行数据库操作的技术。Web开发中常用的语言,都会有对应的ORM框架。而Hibernate就是Java开发中一种常用ORM框架,另一个现在流行的ORM框架是Mybatis。

    为什么需要ORM框架?

    简单地理解,通过Java进行数据库访问的正常流程可以分为以下几步:

    准备好SQL语句

    调用JDBC的API传入SQL语句,设置参数

    解析JDBC返回的结果

    这个过程实际上非常麻烦,比如:

    在Java代码中拼接SQL非常麻烦,而且易于出错

    JDBC的代码调用有很多重复性的代码

    从JDBC返回的结果转换成领域模型的Java对象很繁琐

    而使用ORM框架,则可以让我们用面向对象的方式来操作数据库,比如通过一个简单的函数调用就完成上面整个流程,直接返回映射为Java对象的结果。这个流程中很大一部分工作其实可以交给ORM自动化地帮我们执行。对,类似MVC框架,ORM框架会帮你处理好相关的繁琐事情!

    2. Struts:MVC

    Struts是一个Java Web MVC开发框架。MVC早在1978年就作为Smalltalk的一种设计模式被提出来了,引用到Web应用中来时:

    模型Model用于封装与业务逻辑相关的数据和数据处理方法

    视图View是数据的HTML展现

    控制器Controller负责响应请求,协调Model和View

    Model,View和Controller的分开,是一种典型的关注点分离的思想,不仅使得代码复用性和组织性更好,使得Web应用的配置性和灵活性更好。

    MVC开发模式下,Java Web开发会遇到URL路由、模板渲染、表单绑定/提交/验证、Session封装、权限验证、国际化等一系列通用的问题,而MVC框架会将这些通用问题都封装进框架中,你在应用中根据自己的场景进行简单的配置和编码即可,MVC框架就能帮你处理好一切,可以极大地简化代码。

    3.Spring:DI/AOP

    Spring对应的关键词是DI(依赖注入)与AOP(面向切面编程),可以认为是一个以DI和AOP为核心Java Web一站式的集成(粘合)框架。

    其中DI也称为IoC(控制发转)用于管理Java对象之间的依赖关系(一定要说DI是IoC实现方式的童鞋们见评论区),AOP用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI和AOP能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用Spring框架的基础。

    Spring框架对Java企业应用开发中的各类通用问题都进行了良好的抽象,因此也能够把应用各个层次所涉及的特定的功能和开发框架(如接下来要说的MVC框架、ORM框架)方便得组合到一起(这也得益于依赖注入和面向切面编程带来的强大功能)。Spring是一个极其优秀的一站式的Full-Stack集成框架,因此基于Spring核心,对Java应用开发中的各类通用问题几乎都提供了针对性的开发框架,比如你耳熟能详(如果你对这个问题感兴趣的话)的Spring MVC,Spring Data。

    Java曾经有另外一个类似的一站式框架粘合框架Seam,这是Hibernate的作者、脾气火爆的大神Gavin King的作品,核心是基于依赖注入来黏合JSF和EJB,不过推出时Spring已经大杀四方,Seam基本已经退出历史舞台了。记得Seam提过一个我认为很不错的概念:“双向注入”,类似现在前端框架中的双向绑定,当时来说还是很超前的。

7. javaweb适合初学者的 javaweb书

21天从入门到精通XXX系列,市面上这种书太多了,我都看过很多本,但基本都是很快看完了,路子都差不多,显示javase,然后servlet,jsp,然后ssh框架整合一番。你想学javaweb基本也是照这个路子来,如果你se学的可以了,先从servlet,jsp看起,同时学个数据库JDBC基本要会,然后html、css、js可以先了解下,最后学下框架整个做点demo应该差不多慢慢就可以上手了

8. java web有哪些好的入门书籍

《精通java web整合开发(jsp、ajax、struts、hibernate)》这本不错。
建议买java web的书,主要买开发的书,比如一本书里有讲上几个项目的,不建议买纯概念和讲解知识点的书,这样的书看起来很枯燥,也容易掉进技术细节里。也可到itjob网上看入门资料

9. 学习java web需要先学会什么,只要java基础就够了么

java分为3种分支:JavaSE, JavaEE, JavaME
那就要学javaEE,它就是BS架构搞互联网的,数据库还是要掌握的
重点学好之后就要学html(最简单的静态页面) css(修改页面样式、风格、字体、布局) js(也就是javascript,它算是一个弱类型语言,不过功能很强大,可以调用数据库,学页面开发就要学它的,一些页面的功能插件之类的) 然后就是jsp php asp之类的,因为不可能总用到html静态页面,然后都学好之后就要学java框架了
现在主流的是3大框架,俗称ssh:也就是strust、spring、hibernate
不过每个公司用的都不一样,可能只用1个,或者用2个,或者一个都不用,或者有自己单独的框架,学的话只是一个起步,一个基础,学会一个,学另一个就很容易,很多知识是在工作实践中才学习掌握的。然后就是你自己慢慢在工作中成长了,通过实践,学一些东西,比如工作中网络的应用,就要用一些架包

10. 请教Java Web高人一个简单的Java Web入门级提问。

Hibernate实体关系映射其实就是讲数据库中的表与JAVA的对象关联起来,配置JAVA类就是这种关联关系的体现。简单来说就是一个VO对象(java一般叫法)就对应一个表,VO对象的属性就是表的字段,而如果将VO对象与表一一对应起来,就可以用XML来配置。