当前位置:   article > 正文

学习JavaWeb的总结_java web 收获

java web 收获

1. JavaWeb简介

JavaWeb是基于Java语言的Web开发平台,它提供了一套完整的解决方案来构建动态网站、企业级应用和分布式系统。JavaWeb主要由三个部分组成:Servlet、JSP和JavaBean。Servlet是JavaWeb中处理HTTP请求和响应的核心技术,它可以接收和处理来自客户端的请求,并以动态方式生成响应。JSP是一种在HTML页面中嵌入Java代码的技术,它可以使得网页内容更加动态和交互。JavaBean是Java中的一种可重用组件,它可以用来处理数据和业务逻辑。

JavaWeb
使用Java开发Web服务的技术,统称为JavaWeb。

B/S与C/S模式
B/S:Browser/Server 浏览器/服务器模式
用户只需要一个浏览器即可访问服务器
C/S:Clint/Server 客户端/服务器模式
用户需要下载客户端才能访问服务器


网站
用户通过浏览器访问某个域名或IP地址时,浏览到的综合性页面

实际就是发布在服务器上的一个应用程序,用户通过浏览器访问该程序。

网页
网站中的一个页面

静态页面:所有人看到的数据都一致
动态页面:不同的人看到的页面中的数据不一致
JavaWeb就是B/S模式下的软件开发,开发综合性的服务网站。

网络服务器
部署Web项目的平台。

Tomcat
由Apache、Sun和其他公司及个人共同开发的web服务器。

免费、开源、轻量级,在中小型系统中普遍被使用。

是开发和调试Web项目的首选。

Maven
用于结构化管理jar文件的工具。

通过在Maven项目中加入某个jar文件的依赖,让其自动从Maven云仓库中下载对应的jar文件。

设置Maven配置文件
Maven默认的配置文件会从官网下载jar文件,速度较慢,并且下载的jar文件默认会保存在c盘。

这里在D盘的根目录下新建了一个MavenRepository的本地仓库,用于保存下载的jar文件,并且设置国内的镜像下载。

配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  5. <!--这个根路径可以更改-->
  6. <localRepository>D:\MavenRepository\maven_jar</localRepository>
  7. <mirrors>
  8. <mirror>
  9. <id>aliyunmaven</id>
  10. <mirrorOf>*</mirrorOf>
  11. <name>阿里云公共仓库</name>
  12. <url>https://maven.aliyun.com/repository/public</url>
  13. </mirror>
  14. </mirrors>
  15. <profiles>
  16. </profiles>
  17. </settings>

HTTP状态码

常见状态码含义
200成功
404资源未找到
500服务器内部错误
405方法不允许

Servlet
Server+Applet 运行在服务器上的程序

编写Servlet的步骤
1.在项目中导入Servlet相关依赖

  1. <dependency>
  2.     <groupId>javax.servlet</groupId>
  3.     <artifactId>javax.servlet-api</artifactId>
  4.     <version>4.0.1</version>
  5.     <scope>provided</scope>
  6. </dependency>



2.在项目的java目录下,创建一个类,继承HttpServlet,重写doGet和doPost方法
通常用户无论发送的是get还是post请求,实际都会执行同一件事情。

为了不将代码重复写两遍,可以在doPost方法中调用doGet方法或在doGet方法中调用doPost方法
 

  1. package com.hqyj.servlet;
  2. import javax.servlet.ServletException;
  3. import javax.servlet.http.HttpServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import java.io.IOException;
  7. /*
  8. * Servlet是运行在服务器上的应用程序
  9. * 编写一个Servlet的步骤
  10. * 1.创建一个类型,继承HttpServlet
  11. * 2.重写doGet和doPost方法
  12. * 3.在web.xml中设置请求该Servlet的URL地址
  13. * */
  14. public class FirstServlet extends HttpServlet {
  15. @Override
  16. protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
  17. //只需编写一遍代码
  18. }
  19. @Override
  20. protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
  21. //为了不重复编写代码,在这get中调用post或在post中调用get
  22. doPost(req, resp);
  23. }
  24. }
3.在web.xml中设置Servlet的请求映射
  1. <!--声明一个Servlet-->
  2. <servlet>
  3. <!--自定义Servlet的名称-->
  4. <servlet-name>firstServlet</servlet-name>
  5. <!--Servlet类所在完整路径(全限定名)-->
  6. <servlet-class>com.hqyj.servlet.FirstServlet</servlet-class>
  7. </servlet>
  8. <!--设置某个Servlet的请求映射-->
  9. <servlet-mapping>
  10. <!--指定要设置映射的Servlet-->
  11. <servlet-name>firstServlet</servlet-name>
  12. <!--设置请求映射,以/开头-->
  13. <url-pattern>/first</url-pattern>
  14. </servlet-mapping>
4.访问Servlet

至此,重启tomcat,访问"项目上下文地址/first",就表示访问FirstServlet类。

如果是通过浏览器地址栏访问,相当于get请求,执行servlet中的doGet方法

三层架构
在软件开发中,并不是将所有功能都交给一个类去实现,而是要将其进行分层,从而达到"高内聚、低耦合"的目的。

低耦合是指降低各个模块之间的关联程度,这样便于开发和维护,每个模块各司其职。

高内聚是指每个模块内的功能不可再分。

比如要用积木拼出来一辆车,不要把所有积木放在一起拼,这样其中一部分出现问题,就会影响到其他地方。

最好的做法是先将车的各个组件拼接完成(解耦),每个组件都是完整的不可再分的整体(高内聚),最终再把各个组件拼接到一起。

这样便于发现问题解决问题,不影响其他模块。

通常所说的三层架构中的三层,是指“数据访问层、业务逻辑层和视图表现层”

数据访问层,用于连接数据库,对数据做增删改查的操作
业务逻辑层,用于处理业务逻辑,在适当的情况下调用数据访问层中的方法
视图表现层,用于展示数据和提供用户输入数据的渠道,在适当的情况下调用业务逻辑层中的方法
访问服务器的某个URL

在浏览器的地址栏中输入对应的URL,属于GET提交
使用a标签,在href中输入对应的URL,属于GET提交
使用form表单,在action中输入对应的URL,通过method修改提交方式为GET或POST


 

2. 学习JavaWeb的过程

2.1 入门阶段

在开始学习JavaWeb时,我首先需要掌握Java语言的基础知识,包括语法、面向对象、异常处理等。然后,我学习了Servlet和JSP的基本概念,并通过实例练习来熟悉它们的使用方法。这个阶段,我对JavaWeb有了初步的了解,但对于企业级应用和分布式系统还存在一定的困难。

2.2 框架和工具

随着对JavaWeb的深入学习,我开始接触到各种框架和工具,如Spring、Struts、Hibernate、MyBatis等。这些框架和工具可以帮助我更好地开发和管理JavaWeb应用,提高开发效率和代码质量。我学会了如何配置和使用这些框架和工具,并在实际项目中应用它们。

2.3 数据库和服务器

在JavaWeb开发中,数据库和服务器是不可或缺的组成部分。我学习了如何使用MySQL、Oracle等关系型数据库,掌握了SQL语言的基本知识和数据库操作技巧。同时,我也学会了如何配置和使用Tomcat、Jetty等Web服务器,以及如何部署JavaWeb应用到服务器上。

2.4 安全和性能

在JavaWeb开发中,安全和性能是非常重要的考虑因素。我学习了如何保护JavaWeb应用免受SQL注入、XSS攻击和CSRF攻击等安全威胁。我也学会了如何优化JavaWeb应用的性能,如减少HTTP请求、启用缓存、使用CDN等。

2.5 实战项目

通过学习JavaWeb的基础知识和相关概念,我开始动手进行实战项目。在实战项目中,我将所学的知识应用到实际开发中,遇到了各种各样的问题和挑战。通过解决这些问题,我不断巩固和提升自己的JavaWeb技能,也更加熟悉了企业级应用和分布式系统的开发流程和规范。

3. JavaWeb的优势

在学习JavaWeb的过程中,我认识到了它的诸多优势:

  • 广泛的应用范围,可以用于开发各种类型的Web应用和企业级应用;
  • 强大的生态系统,有丰富的框架、工具和库支持;
  • 跨平台和兼容性好,可以在多种操作系统和浏览器上运行;
  • 安全性高,可以保护应用免受各种安全威胁;
  • 性能好,可以处理大量的请求和数据。

4. 学习JavaWeb的收获

通过学习JavaWeb,我不仅掌握了开发Web应用和企业级应用的基本技能,还培养了解决问题和学习新知识的能力。我学会了如何查阅官方文档、阅读源码、参与社区讨论,并且在实践中不断完善自己。同时,我也意识到JavaWeb是一个庞大的生态系统,需要不断学习和更新知识,才能跟上行业的发展和变化。

5. 总结

总的来说,学习JavaWeb是一次充满挑战而又有意义的经历。它让我对Web开发和企业级应用有了更全面和深入的理解,也培养了我的动手能力和解决问题的勇气。我相信,在不久的将来,JavaWeb会继续发展壮大,成为企业级应用开发的重要工具之一,而我也会继续深入学习和探索,不断提升自己的JavaWeb技能。愿我们共同进步,共同成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/191623
推荐阅读
相关标签
  

闽ICP备14008679号