初步了解JavaWeb

javaFx , java swing 图形化的程序


完成了简单的java web开发
服务端程序和客户端程序,可以不在同一个设备上。
因为,通过 tcp/ip 连接的。 Socket(“ip”, port)
底层通讯原理: tcp/ip + socket编程。

如果按照这样的思路写java web程序。

按照“面向对象”方式,写“页面” 工作量极大!

组件(样式,大小,属性设定,事件绑定,容器的位置)代码量很大。
xml的格式解析比较好些。html + css

java写“纯服务器”好写吗?很难写。因为有很多底层(基础性的与业务关系不大)工作要做。

  1. 建立网络连接,socket的标志
  2. 在很多业务中(下载)由于在服务器开销很大,一般需要异步的处理(开新线程)。
  3. 解析客户端发来的数据(解析需要哪些服务, 查询,修改。。。)
    ====================================================
    java web的项目,不用第三方技术。纯java手写 java.net, java.lang.Thread…
  4. 需要写2个程序(客户端,服务端)架构: c/s client/server
  5. 客户端,需要写页面(样式)
  6. 服务端,有很多底层。

====================================================

有没有“简化”的开发方式。

架构 b/s browser/server
browser也是一个软件!可以充当java中的客户端的角色。
因为浏览器,主要作用发起网络中请求(数据)发送到指定网络中的地址(服务器)
服务器,进行相应的处理,把浏览器(看得懂)的数据发回给浏览器。
浏览器进行“呈现”
浏览器看得懂什么? html, css, javascript (前端三剑客)


浏览器为我们做什么事情。协议 http
浏览器说的语言html, css, javascript, jquery, ajax, json, xml

前端开发工程师
java web开发工程师 (全栈)


c/s, lol, qq,

优点:

  1. 安全!
  2. 资源存储本地

b/s的区别 (管理系统)browser

  1. 通用
  2. 方便,不要额外安装程序

chrome, firefox, opera, safari, edge, IE

====================================================

服务端

java写“纯服务器”好写吗?很难写。
因为有很多底层(基础性的与业务关系不大)工作要做。

java web 把主要的工作放在 “业务实现”。
底层的工作:

  1. 连接
  2. 线程
  3. 解析
  4. 映射
  5. 配置

浏览器发起http请求的方式,到服务器。
形成“规范” javaee, java enterprise edition
servlet + jsp

第二阶段

  1. 前端内容:html, css, javascript, jquery, ajax, json, xml
  2. 后端内容:servlet + jsp规范在开发java web程序。

那么我们需要自己写一个“web服务器”吗?
可以利用“别人写好的服务器”,遵循servlet + jsp规范,重点放在“业务代码上”。
“别人写好的服务器”帮助我们完成(底层工作)
学习:服务器的工作原理,在基础上如何开发业务(项目)

  1. 浏览器
  2. tomcat服务器
  3. java web项目

tomcat(web服务器, 容器) 程序(java程序)
按照javaee规范(servlet+jsp)编写java web项目,部署到tomcat服务器中,
启动tomcat,tomcat就可以成为,能够管理“java web项目”的服务了。

客户(浏览器)通过“地址”(url)发送数据给tomcat服务器,tomcat服务器解析接收到的内容
分析,是访问哪个java web项目。再调用相应的“java的程序”把结果,返回给浏览器。

实验:

手动地开发java web项目,部署到tomcat

  1. 新建一个文件夹,项目名作为文件夹的名称 web0228
    在文件夹中,创建WEB-INF 注意:命名一致

  2. tomcat如何管理java web项目的呢?
    配置文件DD deployment descriptor (部署描述文件) xml格式
    在WEB-INF文件夹中创建web.xml(DD)

  3. 编写web.xml
    xml的头信息,通过拷贝其他项目的web.xml文件。

   <servlet>
      		<servlet-name>helloWorld</servlet-name>
      		<servlet-class>HelloWorld</servlet-class>
   	</servlet>

   	<servlet-mapping>
      		<servlet-name>helloWorld</servlet-name>
      		<url-pattern>/hw</url-pattern>
   	</servlet-mapping>
  1. 编写java程序

    HelloWorld.java

import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;

public class HelloWorld extends HttpServlet {


	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
		out.println("hello web!!!");

	}

}
  1. 编译HelloWorld.java源文件
    javac -cp D:\tomcat\apache-tomcat-8.5.86\lib\servlet-api.jar HelloWorld.java
    注意:传入“servlet-api.jar”到classpath路径中!

  2. 编译后得到的HelloWorld.class文件放在
    WEB-INF/classes文件夹中

  3. 启动tomcat

  4. 在浏览器访问:
    http://localhost:8080/web0228/hw
    http: 协议
    localhost: 服务器地址
    8080 : 端口
    /web0228 : 项目名称
    /hw : 项目中的资源“配置路径”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奕の辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值