博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Web开发(ER模型/DAO/JDBC/Tomcat中间件/JSP)
阅读量:2243 次
发布时间:2019-05-09

本文共 1695 字,大约阅读时间需要 5 分钟。

1、Web项目的三层架构

         三层架构最初是开发J2EE企业级Web应用的轻量级解决方案,现在C/C++、Java、PHP、前端语言等开发的Web项目都使用这三层架构模式。

2、Web Server中间件

2.1、A/N/T的区别

         Apache/Nginx是HTTP Server,关心的是 HTTP 协议层面的传输和访问控制,所以在 Apache/Nginx 上看到代理、负载均衡等功能。而Tomcat则是一个Application Server,是Servlet /JSP应用的动态解析容器,具有HTTP服务的功能,因为由Apache组织开发所以也称为Ap ache-Tomcat。所以前俩者可以运行各种语言如JAVA/PHP/Ruby/Python语言开发的HTTP服务程序,但是后者只能运行Java的应用。

2.2、Windows版Tomcat的安装配置

 

2.3、Tomcat目录介绍

2.4、Servlet/JSP

         ServletJavaEE提供的用于开发Web服务器应用程序的一个组件,由Servle容器管理,用于生成动态的网页内容,编写一个Servlet需要设计一个实现Serlvet接口或者继承HttpServer类的Java类,在其中写生成动态页面的代码。但是使用Servlet产生动态网页是把静态网页和动态产生内容的代码混合在一起,这就导致后台程序员和前端工程师无法一起工作,因为前端工程师不了解Java语言无法修改Servlet代码,而Java程序员可能也不是很了解前端的意图以至于无法实现和修改网页功能。为了解决这些问题,Sun公司就推出了JSP技术。

         JSP是从Servlet继承而来,它是在传统的静态HTML文件中插入JavaJSP标记形成的,底层是Servlet表面更像html文本。事实上JSP只负责页面表现,JSP页面代码必须生成Servlet代码才能执行,Web应用中的每个JSP页面都会由Servlet容器编译生成对应的Servlet实例,Servlet再负责响应用户请求。对于Tomcat而言,JSP页面生成的ServletJava文件及class文件放在work路径对应的Web应用下。

a、JSP语法

b、JSP案例:获取当前系统时间

3、myeclipse管理JavaWeb项目

3.1、Myeclipse管理JavaWeb项目

3.2、Myeclipse发布JavaWeb项目的war包

         JavaWeb的项目都是通过war包发布的,war里包含workspace里该工程的WebRoot下的所有内容并且WebRoot\WEB-INF\lib文件夹会囊括Myeclipse工程视图下Add进ReferencedLibraries里的第三方jar包。打出war包发给别人比如运维人员/测试人员,他们把war包放在Tomcat服务的webapps下,启动Tomcat后就会自动解压。

4、数据库设计(表)

4.1、安装数据库

          以Mysql为例,多个项目可用同一个数据库,也可以单独使用一台服务器安装全新Mysql,安装完成后需要提供四个信息:

4.2、建库脚本

    如何是大型复杂的项目,需要编写规范的建库脚本create_database.sql。但如果是规模较小的项目,本地或远程登录Mysql后在库模式下执行create database 数据库名称;就可以创建项目需要的数据库了。

4.3、建表脚本

实际开发中,当从产品经理处拿到新需求后,首先就是考虑如何建表,根据E-R模型需求有哪些关键信息就建立哪些字段,并且是通过建表脚本或者是客户端软件的建表模板而不是直接登录数据库服务器通过CLI的方式建表。

 

 

 

5、数据访问层(DAL)

5.1、根据E-R模型设计实体类

5.2、根据DAO模式设计数据访问类

Java程序通过JDBC访问Mysql数据库,有一套固定的编程步骤:

6、业务逻辑层(BLL)

此案例就是获取数据库Cost表中的所有资费记录现在表示层的Web页面中,不涉及逻辑。

7、表示层(UI)

7.1、正常步骤

 

7.2、错误案例演示

你可能感兴趣的文章
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】106-Construct Binary Tree from Inorder and Postorder Traversal
查看>>
【LEETCODE】202-Happy Number
查看>>
和机器学习和计算机视觉相关的数学
查看>>
十个值得一试的开源深度学习框架
查看>>
【LEETCODE】240-Search a 2D Matrix II
查看>>
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>
【LEETCODE】241-Different Ways to Add Parentheses
查看>>