赞
踩
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文件,并且设置国内的镜像下载。
配置文件
- <?xml version="1.0" encoding="UTF-8"?>
-
- <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
- <!--这个根路径可以更改-->
- <localRepository>D:\MavenRepository\maven_jar</localRepository>
-
- <mirrors>
- <mirror>
- <id>aliyunmaven</id>
- <mirrorOf>*</mirrorOf>
- <name>阿里云公共仓库</name>
- <url>https://maven.aliyun.com/repository/public</url>
- </mirror>
-
- </mirrors>
-
-
- <profiles>
-
- </profiles>
-
- </settings>
常见状态码 | 含义 |
---|---|
200 | 成功 |
404 | 资源未找到 |
500 | 服务器内部错误 |
405 | 方法不允许 |
Servlet
Server+Applet 运行在服务器上的程序
编写Servlet的步骤
1.在项目中导入Servlet相关依赖
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>4.0.1</version>
- <scope>provided</scope>
- </dependency>
2.在项目的java目录下,创建一个类,继承HttpServlet,重写doGet和doPost方法
通常用户无论发送的是get还是post请求,实际都会执行同一件事情。
为了不将代码重复写两遍,可以在doPost方法中调用doGet方法或在doGet方法中调用doPost方法
- package com.hqyj.servlet;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
-
- /*
- * Servlet是运行在服务器上的应用程序
- * 编写一个Servlet的步骤
- * 1.创建一个类型,继承HttpServlet
- * 2.重写doGet和doPost方法
- * 3.在web.xml中设置请求该Servlet的URL地址
- * */
- public class FirstServlet extends HttpServlet {
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
- //只需编写一遍代码
- }
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
- //为了不重复编写代码,在这get中调用post或在post中调用get
- doPost(req, resp);
- }
- }
- <!--声明一个Servlet-->
- <servlet>
- <!--自定义Servlet的名称-->
- <servlet-name>firstServlet</servlet-name>
- <!--Servlet类所在完整路径(全限定名)-->
- <servlet-class>com.hqyj.servlet.FirstServlet</servlet-class>
- </servlet>
-
- <!--设置某个Servlet的请求映射-->
- <servlet-mapping>
- <!--指定要设置映射的Servlet-->
- <servlet-name>firstServlet</servlet-name>
- <!--设置请求映射,以/开头-->
- <url-pattern>/first</url-pattern>
- </servlet-mapping>
至此,重启tomcat,访问"项目上下文地址/first",就表示访问FirstServlet类。
如果是通过浏览器地址栏访问,相当于get请求,执行servlet中的doGet方法
三层架构
在软件开发中,并不是将所有功能都交给一个类去实现,而是要将其进行分层,从而达到"高内聚、低耦合"的目的。
低耦合是指降低各个模块之间的关联程度,这样便于开发和维护,每个模块各司其职。
高内聚是指每个模块内的功能不可再分。
比如要用积木拼出来一辆车,不要把所有积木放在一起拼,这样其中一部分出现问题,就会影响到其他地方。
最好的做法是先将车的各个组件拼接完成(解耦),每个组件都是完整的不可再分的整体(高内聚),最终再把各个组件拼接到一起。
这样便于发现问题解决问题,不影响其他模块。
通常所说的三层架构中的三层,是指“数据访问层、业务逻辑层和视图表现层”
数据访问层,用于连接数据库,对数据做增删改查的操作
业务逻辑层,用于处理业务逻辑,在适当的情况下调用数据访问层中的方法
视图表现层,用于展示数据和提供用户输入数据的渠道,在适当的情况下调用业务逻辑层中的方法
访问服务器的某个URL
在浏览器的地址栏中输入对应的URL,属于GET提交
使用a标签,在href中输入对应的URL,属于GET提交
使用form表单,在action中输入对应的URL,通过method修改提交方式为GET或POST
在开始学习JavaWeb时,我首先需要掌握Java语言的基础知识,包括语法、面向对象、异常处理等。然后,我学习了Servlet和JSP的基本概念,并通过实例练习来熟悉它们的使用方法。这个阶段,我对JavaWeb有了初步的了解,但对于企业级应用和分布式系统还存在一定的困难。
随着对JavaWeb的深入学习,我开始接触到各种框架和工具,如Spring、Struts、Hibernate、MyBatis等。这些框架和工具可以帮助我更好地开发和管理JavaWeb应用,提高开发效率和代码质量。我学会了如何配置和使用这些框架和工具,并在实际项目中应用它们。
在JavaWeb开发中,数据库和服务器是不可或缺的组成部分。我学习了如何使用MySQL、Oracle等关系型数据库,掌握了SQL语言的基本知识和数据库操作技巧。同时,我也学会了如何配置和使用Tomcat、Jetty等Web服务器,以及如何部署JavaWeb应用到服务器上。
在JavaWeb开发中,安全和性能是非常重要的考虑因素。我学习了如何保护JavaWeb应用免受SQL注入、XSS攻击和CSRF攻击等安全威胁。我也学会了如何优化JavaWeb应用的性能,如减少HTTP请求、启用缓存、使用CDN等。
通过学习JavaWeb的基础知识和相关概念,我开始动手进行实战项目。在实战项目中,我将所学的知识应用到实际开发中,遇到了各种各样的问题和挑战。通过解决这些问题,我不断巩固和提升自己的JavaWeb技能,也更加熟悉了企业级应用和分布式系统的开发流程和规范。
在学习JavaWeb的过程中,我认识到了它的诸多优势:
通过学习JavaWeb,我不仅掌握了开发Web应用和企业级应用的基本技能,还培养了解决问题和学习新知识的能力。我学会了如何查阅官方文档、阅读源码、参与社区讨论,并且在实践中不断完善自己。同时,我也意识到JavaWeb是一个庞大的生态系统,需要不断学习和更新知识,才能跟上行业的发展和变化。
总的来说,学习JavaWeb是一次充满挑战而又有意义的经历。它让我对Web开发和企业级应用有了更全面和深入的理解,也培养了我的动手能力和解决问题的勇气。我相信,在不久的将来,JavaWeb会继续发展壮大,成为企业级应用开发的重要工具之一,而我也会继续深入学习和探索,不断提升自己的JavaWeb技能。愿我们共同进步,共同成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。