初识 jsp 与 tomcat 环境搭建

初识 JSP(Java Server Pages)

本文主要对jsp和tomcat环境做了简单的介绍。

1. 什么是 jsp ?

JSP(java服务器页面)是由[Sun Microsystems](https://baike.baidu.com/item/Sun Microsystems)公司主导创建的一种动态网页技术标准JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

2. 准备环境

在使用 jsp 之前我们要先准备好环境

名称 版本 作用
apache-tomcat 8.0.30 web 服务器,部署 web 应用
apache-maven 3.6.2 管理项目jar文件,构建项目

创建项目

初识 jsp 与 tomcat 环境搭建_第1张图片

选择 maven

初识 jsp 与 tomcat 环境搭建_第2张图片

勾选 Create from archetype 选中 maven-archetype-webapp(这里不要选错)

初识 jsp 与 tomcat 环境搭建_第3张图片

点击 Next 之后,可以看到

初识 jsp 与 tomcat 环境搭建_第4张图片

Group id:一般为域名,或组织名英文简写

ArtifactId:项目文件名称

再点击 Next,可以看到

初识 jsp 与 tomcat 环境搭建_第5张图片

这两个使我们之前创建项目指定的 archetype 如果与图中不一致说明你创建项目时候指定 archetype 错了

点击 Next,可以看到

初识 jsp 与 tomcat 环境搭建_第6张图片

Project Name:项目名称

Project Location:项目路径

点击 Finish,可以看到一个崭新的画面

初识 jsp 与 tomcat 环境搭建_第7张图片

这一步完成说明你的初始环境就经搭建完成了,后续将 tomcat 添加到运行方式中就可以运行 jsp 了

准备 pom.xml 依赖

group Id 作用
javax.servlet.jsp 支持 jsp
javax.servlet 支持 servlet
<dependency>
  <groupId>javax.servlet.jspgroupId>
  <artifactId>javax.servlet.jsp-apiartifactId>
  <version>2.3.1version>
dependency>
<dependency>
  <groupId>javax.servletgroupId>
  <artifactId>javax.servlet-apiartifactId>
  <version>4.0.1version>
dependency>

web 应用程序目录结构

初识 jsp 与 tomcat 环境搭建_第8张图片

展开目录可以看到 src 下分别有 main

​ -webapp(你的 jsp 就是放在这个目录下)

​ -WEB-INF(相关的 web 配置)

​ -web.xml 配置这个 web 应用程序的核心文件

​ index.jsp(自带的页面用于测试)

真正成为一个 web 应用程序

点击 File 下的 Project Structure

初识 jsp 与 tomcat 环境搭建_第9张图片

在 Modules 下选中项目点击 +

初识 jsp 与 tomcat 环境搭建_第10张图片

添加 web 应用程序

初识 jsp 与 tomcat 环境搭建_第11张图片

在 Deployment Descriptors 点击 + (如果这里有文件就先删除在添加,这里主要是项目的 web.xml添加到 web 应用中)

初识 jsp 与 tomcat 环境搭建_第12张图片

点击这个 web.xml

初识 jsp 与 tomcat 环境搭建_第13张图片

可以看到这里多了一个目录说明配置好了

初识 jsp 与 tomcat 环境搭建_第14张图片

在 Web Resource Directory 点击 + (这里主要是将项目的web app目录指定标明这个web app 是一个web应用)

初识 jsp 与 tomcat 环境搭建_第15张图片

初识 jsp 与 tomcat 环境搭建_第16张图片

这样就大功告成了

初识 jsp 与 tomcat 环境搭建_第17张图片

点击 ok,然后可以看到你的 web app 变成了蓝色(正式成为了web 应用程序)
初识 jsp 与 tomcat 环境搭建_第18张图片

配置 tomcat

点击 run 选中 Edit Configurations
初识 jsp 与 tomcat 环境搭建_第19张图片

添加本地 tomcat

初识 jsp 与 tomcat 环境搭建_第20张图片

可以看到这就是配置 tomcat 的界面

初识 jsp 与 tomcat 环境搭建_第21张图片

①:你的 Tomcat Server 名称(随便起就可以)

②:你的 Application Server 如果没有需要进行配置

  • 点击 Configure…

  • 可以看到,这里是没有 Tomcat Server 的,需要将本地的 tomcat 添加进去

初识 jsp 与 tomcat 环境搭建_第22张图片

  • 点击 +

  • 再点击这个图标
    初识 jsp 与 tomcat 环境搭建_第23张图片

    找到你下载好的 tomcat 路径

初识 jsp 与 tomcat 环境搭建_第24张图片

初识 jsp 与 tomcat 环境搭建_第25张图片

  • 点击ok,可以看到你的 Tomcat Home,说明你的 tomcat 就已经配置好了

初识 jsp 与 tomcat 环境搭建_第26张图片

  • 点击ok,又回到了这个页面

初识 jsp 与 tomcat 环境搭建_第27张图片

  • 点击ok,就已经配置好了 tomcat 了

③:你的 tomcat 地址

④:可以设置端口号等一些配置信息

⑤:需要添加 jar

初识 jsp 与 tomcat 环境搭建_第28张图片

点击fix,可以看到他已经添加好了,点击 apply

初识 jsp 与 tomcat 环境搭建_第29张图片
注意:这里如果添加不了war包,要刷新一下maven
再回到这个页面我们可以看到 url 已经发生了改变 http://localhost:8080/hellojsp/
初识 jsp 与 tomcat 环境搭建_第30张图片

为了便于测试我把 /hellojsp/ 已经去掉了
初识 jsp 与 tomcat 环境搭建_第31张图片

运行 tomcat 测试 jsp 页面

创建一个用于测试的 jsp 文件

初识 jsp 与 tomcat 环境搭建_第32张图片

运行 tomcat,查看结果

3 hello jsp

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容,而动态生成其中部分内容主要就是通过jsp“动作”,jstl等传输数据进行动态生成(通常由servlet传递数据)

创建servlet,在 java 目录中创建 servlet

Servlet(Server Applet),全称Java Servlet,。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

初识 jsp 与 tomcat 环境搭建_第33张图片

package cn.net.ablue;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

// 该注解标记该类为 servlet 可以同过请求方式访问到该 servlet
@WebServlet(name = "word")
public class HelloServlet extends HttpServlet {
    @Override
    // post 请求
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    // get 请求
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 相应页面请求 io 写出
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().println("hello servlet");
        // 请求对象中附带一个属性 username = 小明
        request.setAttribute("username","小明");
        // 请求 hello.jsp,并将这次请求的对象的内容也带走
        request.getRequestDispatcher("hello.jsp").forward(request,response);
    }
}

你可能感兴趣的:(web)