本文操作仅供参考,西北民族大学21级计科2班WEB开发基础91704X08教师孟老师
实验笔记
1、 安装配置JSP的运行环境
JSP全称为Java Server Pages,首先我们先安装JDK环境
1) 安装JAVA(GraalVM)环境
在2023年不会有人还在用JAVA8叭,Oracle发现现在JAVA竞争力越来越不及go语言,开发了新的VM技术——GraalVM
GraalVM 是一个高性能 JDK,可提高基于 Java 和 JVM 的应用的性能并简化 Java 云原生服务的构建和运行。它提供优化的编译器,可以更快地生成代码并降低计算资源消耗,实现微服务即时启动。
在GraalVM中集成了JDK,可以将GraalVM看成功能更强大的JDK
和JVM(JDK)安装方法一样,下载对应的成品包
如何解压到一个自己好记的目录下,这里以Win64为例,下载并解压下载的压缩包到D:\JDK\graalvm17.0.9\
,并在系统变量下添加JAVA_HOME,这么做的目的是为了更好的管理JAVA版本,更换Java版本比较方便
接下来在系统变量中添加path
完成后请点击确定,直接右上角x退出不会保存设置
验证阶段,在cmd命令行中验证即可,java和javac命令最好都试一次
2) 安装Tomcat
进入Tomcat官网安装下载:http://tomcat.apache.org/
我们看到有两个版本,一个是Tomcat9与Tomcat10,在 Tomcat 9 及更早版本上运行的应用程序如果不进行更改,将无法在 Tomcat 10 上运行所有为了更好的完成复古的教学我们还是选择Tomcat9
结果发现访问tomcat官网下载速度受限。
我们去华为的镜像站进行下载https://mirrors.huaweicloud.com/apache/tomcat/tomcat-9/v9.0.84/bin/apache-tomcat-9.0.84.exe
直接安装
选择jdk的安装路径就是上面安装的路径
接下来选择安装Tomcat目录
安装完成了
3) 配置Tomcat环境
Tomcat环境变量Catalina_Home配置
(1)、TOMCAT_HOME设置为当前TOMCAT的安装路径
(2)、计算机>属性>环境变量, 新建环境变量。变量名为TOMCAT_HOME ,变量值tomcat的解压目录
注意:后面实践发现必须要Catalina_Home,而不是TOMCAT_HOME
4)解决控制台乱码
打开“/conf/logging.properties”文件
把java.util.logging.ConsoleHandler.encoding = UTF-8改成java.util.logging.ConsoleHandler.encoding = GBK
定位\bin\catalina文件,打开并在最上方@echo off的下面加上以下代码
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"
2、思路
·启动Socket服务,循环接收浏览器请求接收到请求之后,将流中的数据取出
判断目标资源是否存在,若不存在,返回404;若存在,将目标资源通过输出流响应给客户端类
. Server:开启Socket服务
Request:封装请求,处理请求的相关业务. Rebponse:封装响应,处理响应的相关业务
所以我们需要
1.创建JavaEE项目
2.定义一个类,实现servlet接口
3.实现接口中的抽象方法
4.配置servlet
3、了解MavenWeb项目结构
4、IDEA创建MavenWeb项目
由于使用骨架的方式过于简单,这里演示不使用骨架的方法
1) 新建一个标准maven项目
2) 添加打包方式
在pom中添加打包方式并刷新pom
由上述项目结构了解到新建的项目中缺少webapp及其子目录,这里我们进行创建,使用快捷键Shift+ctrl+alt+s
打开项目设置,我们发现在web资源目录下爆红,说明有错误(因为没有添加所以有错误)。双击它,并进行自动创建即可
点击添加描述符
并对其补齐路径src\main\webapp
(图中有笔误)
结果如下
5、IDEA集成Tomcat
1.添加运行配置
一般注意Tomcat服务器和JDK路径即可
2.添加本地路径
3.部署添加war包即可
之后点击应用+确定即可
4.测试配置
在webapp中添加test.html文件如下
之后启动发现1099端口已经被占用,应该是笔者电脑服务冲突问题
将JMX端口改为其他空闲端口即可
JMX(Java Management Extensions) 是一个为应用程序提供管理功能的框架。也就是应用程序暴露一个端口,可以通过这个端口,查看程序的状态,修改程序的配置。(源自https://blog.csdn.net/qq_35440040/article/details/108387775)
这里改为6666
启动完成后发现可以正常访问http://localhost:8080/[项目名]/test.html
测试成功,至此IDEA集成Tomcat结束
6、了解JSP与Servlet的区别
实际的操作区别
- 创建方式:Servlet完全由Java程序代码构成,主要用于流程控制和事务处理。而JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。
- 编译方式:JSP修改后可以立即看到结果,不需要编译。而Servlet需要编译。
- 转换方式:JSP是动态网页开发技术,是运行在服务器端的脚本语言。而Servlet是Web服务器端编程技术,JSP运行时就是转换为Servlet,也就是Java程序来执行。
- 侧重面:JSP侧重于视图,Servlet主要用于控制逻辑。
逻辑上的本质区别
- Servlet是用来接收和处理前段发来的数据,并(可能)返回处理后的数据,属于后端行列
- JSP是用来作为前段展示的脚本语言,用来展示页面和处理前端展示数据使用。
7、 编写JSP页面(仅JSP)
在webapp中新建jsp文件
文件名为testJSP.jsp
如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" |
在jsp中需要处理的函数请求需要用<%%>
包围
1 | <% |
可以成功访问JSP
具体的JSP请期待**《实现动态网页开发(下)》**使用JSP与Servle的结合实践