JavaWeb课程总结

一.课程总结

HTML标签和基础

HTML(超文本标记语言)是构建网页和网页应用的结构基础。学习 HTML 包括了解如何使用不同的标签来创建文本、链接、图片、表格等内容。通常将HTML标签分为3类,分别是单标签、双标签和注释标签

1.单标签,是指用一个标签就可以完整地描述某个功能
<标签名 />
2.双标签 ,由开始和结束标签组成。
<标签名>内容</标签名>
3.注释标签,如果需要在HTML文档中添加一些方便阅读和理解但是不需要显示的注释文字 
<!--注释语句-->

JavaScript基础

JavaScript 是一种脚本语言,用于为网页添加交互性,如响应用户操作、动态更新页面内容等。

CSS技术

CSS用于设置网页的视觉样式和布局,包括字体、颜色、间距、对齐等。使用HTML标签属性对网页进行修饰存在很大的局限和不足,因为将所有的样式写在标签里面,不利于代码的阅读也会是代码的维护非常困难,如果希望页面美观、大方、维护方便,就需要使用CSS实现结构与表现的分离。结构与表现相分离是指在页面设计中,HTML标签只用于搭建网页的基础结构,不使用标签属性设置显示样式,所有的样式交由CSS来设置。

CSS样式的引用方式:

1.行内式

<标签名 style="属性1:属性值;属性2:属性值;属性3:属性值;">内容</标签名>

上述语法中,style是标签属性,实际上任何HTML标签都有style属性。 

2.内嵌式

<head>
<style type="text/css">
       选择器 {属性1:属性值1;属性2:属性值2;属性3:属性值3;}
</style>
</head>

3.外链式

<head>
   <link href="CSS文件的路径" type="text/css" rel="stylesheet" />
</head>

4.导入式

<style type="text/css" >
@import url(CSS文件路径);或@import url"CSS文件路径";
</style>

Bootstrap框架基础和常用组件

Bootstrap 是一个前端框架,它提供了一套响应式设计的组件和样式,可以加快网页开发的速度。Bootstrap框架结合HTML和CSS和JavaScript技术,可以构建出非常优雅的前端页面而且占用资源较少.

优点:1.响应式设计2.移动设备优先3.浏览器支持4.低成本 易上手5.CSS预编译6.框架成熟7.丰富的组件库

XML基础

XML 是一种标记语言,用于存储和传输数据。它在配置文件和数据交换中非常常见。

 XML是一种类似于HTML的置标语言,称为可扩展置标语言.XML用于提供数据描述格式,适用于不同应用程序之间的数据切换,而且这种交换不以预先定义的一组数据结构为前提,增强了可拓展性.

程序开发体系架构

学习软件开发的架构模式,如 MVC(模型-视图-控制器),它有助于分离应用的业务逻辑、用户界面和控制逻辑。

C/S(客户端/服务器)和B/S(浏览器/服务器)体系结构是两种常见的软件架构模式。以下是它们的基本结构图的简要描述:

C/S架构

在C/S架构中,系统分为两个主要部分:客户端(Client)和服务器(Server)。

  • 客户端:负责与用户交互,收集用户输入,执行部分业务逻辑,并显示服务器返回的数据。
  • 服务器:负责处理客户端的请求,执行数据库查询等操作,并将结果发送回客户端。

C/S架构通常用于局域网环境,需要用户在本地计算机上安装客户端软件。

B/S架构

B/S架构则将系统分为三个主要层次:浏览器(Browser)、服务器(Server)和数据库(Database)。

  • 浏览器:作为客户端,用户通过浏览器访问服务器上的应用程序。
  • 服务器:处理浏览器的请求,执行业务逻辑,并将查询数据库的结果返回给浏览器。
  • 数据库:存储、检索和更新数据。

B/S架构适用于基于互联网的应用,用户不需要安装专门的客户端软件,只需使用浏览器即可。

Tomcat

Tomcat 是一个应用服务器,用于部署和运行 Java 应用,特别是 JavaWeb 应用。

Tomcat运行稳定可靠效率高,不仅可以与目前大部分主流的web服务器一起工作,而且可以作为独立的Web服务器软件.

HTTP协议

HTTP(超文本传输协议)是用于从网络传输超文本到本地浏览器的传输协议,学习 HTTP 请求和响应的构成。

特点:

1.支持客户\服务器模式

2.简单快速.常用的请求方式有GET POST 等

3.灵活.HTTP允许传输任意类型的数据,正在传输的数据类型由Content-Type加以标记.

4.无状态HTTP是无状态协议.无状态是指协议对于事物处理没有记忆的能力,后续需要处理前面的信息,则需要重新传输.

Servlet技术

Servlet 是 Java EE 规范的一部分,用于创建基于 Java 的网络应用。学习 Servlet 的生命周期、请求处理等。

Servlet生命周期

Servlet 的生命周期由以下几个关键阶段组成:

  1. 加载和实例化:当Servlet容器(如Tomcat)需要处理一个特定Servlet的第一个请求时,容器会加载Servlet类,并创建一个Servlet实例。

  2. 初始化:一旦Servlet实例化,容器就会调用其 init 方法。这个方法只会被调用一次,用于初始化工作,如设置参数或创建其他资源。

  3. 请求处理:Servlet 通过 service 方法来处理客户端的请求。当请求到达时,容器调用与请求类型(如GET、POST)相对应的 service 方法。

  4. 销毁:当Servlet不再被使用时,容器会调用 destroy 方法。这允许Servlet释放它持有的资源。

  5. 卸载:最后,Servlet实例将从内存中移除。

请求处理

Servlet 容器为每个请求调用相应的 Servlet 的 service 方法。service 方法需要完成以下任务:

  1. 解析请求:根据请求类型(GET、POST、PUT等)解析客户端发送的数据。

  2. 处理请求:执行必要的业务逻辑。

  3. 生成响应:根据请求处理的结果生成响应,这可能包括HTML页面、重定向、错误代码等。

  4. 发送响应:将响应数据发送回客户端。

Servlet 容器为 service 方法提供了一个 HttpServletRequest 对象,它代表客户端的请求,以及一个 HttpServletResponse 对象,用于构造响应。

Servlet API

Java Servlet API 定义了一组接口和类,使得开发人员可以编写Servlet。核心接口包括:

  • Servlet:所有Servlet必须实现的接口。
  • ServletRequest:表示客户端的请求。
  • ServletResponse:表示服务器的响应。
  • Filter:用于在请求到达Servlet之前或响应发送给客户端之后执行过滤任务。

配置和部署

Servlet 通过在 Web 应用程序的 web.xml 配置文件中声明或通过注解来配置。部署时,Servlet 被打包为一个Web应用程序归档(WAR)文件,然后部署到Servlet容器。

安全性

Servlet 提供了一些安全特性,如:

  • 认证:确保只有经过验证的用户才能访问特定的资源。
  • 授权:确定经过认证的用户是否有权限执行特定的操作。

会话管理

Servlet 容器支持会话管理,允许跟踪用户的会话状态。可以通过 HttpServletRequest 对象访问会话,并使用 HttpSession 接口来管理会话。了解如何使用 Session 和 Cookie 跟踪用户的会话状态。

JSP技术

JSP(JavaServer Pages)是一种技术,允许开发者将 Java 代码嵌入 HTML 页面中,以简化动态网页的开发。JSP是Servlet更高级的拓展.在JSP文件中,HTML代码与Java代码共同存在,其中,HTML文件用于实现网页中静态内容的显示,Java代码用于实现网页中的动态内容的显示.

JSP动作元素和隐式对象

JSP 动作元素用于控制 JSP 页面的行为,而隐式对象是 JSP 技术提供的一组可以在 JSP 页面中直接使用的 Java 对象。

以下是JSP中的九个标准隐式对象:

  1. request - 封装了客户端的请求信息,可以用来获取客户端发送的参数、头信息等。

  2. response - 用于封装服务器对客户端的响应信息,可以设置响应的状态码、响应头等。

  3. pageContext - 提供了对页面上下文的访问,可以作为其他隐式对象的中央存储库。

  4. session - 封装了客户端与服务器之间的会话信息,可以用来跟踪用户的会话状态。

  5. application - 代表JSP引擎的上下文,可以用来存储整个Web应用程序范围内的属性。

  6. out - 用于输出内容到客户端,可以向客户端发送响应数据。

  7. config - 代表JSP页面的Servlet配置对象,可以用来获取初始化参数。

  8. page - 代表JSP页面本身,通常是页面类的一个实例。

  9. exception - 只在错误页面中有效,用于访问页面抛出的异常对象。

除了这九个标准隐式对象,还有一些额外的隐式对象,如:

  • param 和 paramValues - 用于获取请求参数。
  • initParam - 用于获取初始化参数。

JSP指令

JSP 指令用于指定页面依赖的插件、包含其他文件或定义页面属性。

JSP页面可以包含以下几种指令:

  1. page指令:定义页面依赖的属性,如contentType、pageEncoding等。
  2. include指令:在转换为Servlet之前,将一个文件的内容包含到另一个文件中。
  3. taglib指令:引入自定义标签库,以便在JSP页面中使用。
  4. errorPage指令:定义错误页面,当页面抛出异常时,会跳转到这个页面。

page指令的例子

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

   <title>JSP Page Example</title>

</head>

<body>

  <h1>Hello, JSP!</h1>

  <!-- JSP代码可以写在这里 -->

</body>

</html>

在这个例子中,page指令指定了页面的内容类型是text/html,字符集是UTF-8,并且页面使用的是Java语言。

include指令的例子

<%@ page language="java" %>

<%@ include file="header.jsp" %>

<h1>Welcome to Our Site!</h1>

<%@ include file="footer.jsp" %>

这里,include指令用于将header.jspfooter.jsp文件的内容包含到当前页面中。这通常用于重复利用公共代码,如网站的头部和尾部。

taglib指令的例子

<%@ page language="java" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:forEach var="item" items="${list}">

<!-- 迭代输出list中的每个item -->

</c:forEach>

在这个例子中,taglib指令引入了JSTL核心标签库,并定义了一个前缀c。然后,使用c:forEach标签来迭代一个列表。

errorPage指令的例子

<%@ page language="java" errorPage="error.jsp" %>

<!-- 页面内容,如果发生错误,将跳转到error.jsp -->

这里,errorPage指令定义了一个错误页面error.jsp,当当前页面发生异常时,将会跳转到这个页面。

EL和JSTL

表达式语言(EL)简化了页面中的 Java 代码编写,而 JSTL(JavaServer Pages 标准标签库)提供了一套丰富的标签,用于执行常见的任务。

EL的语法格式:

${表达式}

EL中的标识符:

不能以数字开头;

不能是EL中的关键字.例如:and or gt等

不能是EL中的隐式对象,例如:pageContext

不能包含单引号(')双引号('')减号(-) 和正斜线(/)等特殊符号

//以下这些标识符都是合法的
usename
usename123
user_name
_username
以下这些标识符都不合法
123usename
or
user"name"
pageContext

MVC设计模式

MVC 是一种软件设计模式,用于将应用分为三个核心组件:模型(Model)、视图(View)和控制器(Controller),以提高应用的组织性和可维护性。

JDBC

JDBC(Java 数据库连接)是一个 Java API,用于执行 SQL 语句和与数据库交互。

应用程序使用JDBC访问数据库的方式:

二.遇到的相关问题

Q1:在IDEA2023中配置Tomcat服务器?

1).首先我们点击New Project,设置好项目的名字和JDK


2).在idea的左上角File中选择Project Structure,在Modules里面点击加号,选择Web,这样可以帮我们创建号webapp文件夹和web.xml配置文件

3). 为项目创建一个web应用artifacts,IDEA在这里会提示,直接点击Create Artifact就可以自动配置

4).点击应用即可

5).现在的文件结构如下:

Q2.配置Tomcat的服务器启动时窗口一闪而过并且会出现乱码?

出现一闪而过可能是因为端口号被占用,Tomcat的默认端口号为8080,而乱码的解决需要我们找到Tomcat的下载路径,对应的文件夹中的conf文件夹中的logging.properties文件 将UTF-8改为GBK,便可以解决问题。

bin:可执行文件(startup.bat开启文件 shutdown.bat关闭文件)

conf:配置文件(server.xml)(可以改端口号)

lib:tomcat依赖的jar文件

log:日志文件(记录出错等信息)

temp:临时文件

webapps:可执行的项目(将我们开发的项目 放入该目录)

work:存放有jsp翻译的java,以及编辑成的class文件jsp->java->class

Q3.Tomcat运行之后,报错404?

可能是Tomcat没有配置环境变量,有可能是因为Tomcat的端口号被占用,如果在是运行tomcat时计算机的程序中也有8080的端口号,这时候会报404。

配置环境变量:

1)右击“我的电脑”,点击“属性”,选择"高级系统设置",点击“环境变量”
2)在系统变量中新建CATALINA_BASE,CATALINA_HOME:
变量名分别为CATALINA_BASE和CATALINA_HOME,变量值为Tomcat的安装目录。
3)在Path的变量值中加入:%CATALINA_HOME%\bin和%CATALINA_HOME%\lib
4)测试是否配置成功:
打开"cmd"/快捷键win+R,输入: startup,进行测试。
修改端口号:首先打开tomcat的conf文件夹,打开server.xml文件修改端口号即可。

Q4.解决响应和请求参数中的中文乱码 ?(例如下面这种情况)

1)在HTML页面的<form>标签中添加accept-charset="UTF-8",确保表单提交使用UTF-8编码。
2)在Servlet中,在读取请求参数之前,设置请求和响应的字符编码为UTF-8。


3)也有可能是服务器的问题,服务器编码方式和文件编码的方式冲突,可以把服务器中虚拟机选项添加下面这句话。

Q5.Servlet重定向之后显示404?

出现这种404问题一般是路径问题,我在检查我的文件路径之后,确认无误之后发现还是不行,最后发现是Tomcat的路径问题,那么就需要在IDEA中的右上角Edit Configuration选项中,在里面找到Deployment选项,修改路径即可。

Q6.模拟实现购物车可以为购买的商品增加图片作为展示?

  • 首先,我们需要在Cake类中添加一个字段来储存商品的照片,或者URL
  • 在CakeDatabase类中更新添加带有商品照片的蛋糕数据

  • 在cartServlet类中添加显示图片和的对应的名称

  • 15
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值