先从下载apache-tomcat-9.0.17开始

在下边这个网站下载,下边一步步来

下面删除的这些是暂时用不上的,先吧它删除了,因为会拖慢启动速度

下边把ROOT里边除WEB-INF外的全不删除了,这些都是下载时自带的,与我们要做的无关的

找到下边这个文件,右键,然后打开方式然后选记是本打开,把里边的东西都删了,然后

  把下边的代码复制进去

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
id="WebApp_ID" version="3.0">

</web-app>

然后保存

然后在刚才的这里创建下边两个文件夹

然后把下边这个,按下边步骤做(为了测试方便)

win+R打开命令,然后把这个servlet-api.jar拖到命令框里就会有这个文件的打开路径,把这个路径复制

放到变量里,下边有步骤

把   D:\software\apache-tomcat-9.0.17\lib\servlet-api.jar

添加到环境变量CLASSPATH

  

检查3个环境变量

JAVA_HOME

PATH

CLASSPATH

下边横线的只是参考

2个请求:

  1. jsp登录页面,在D:\software\apache-tomcat-9.0.17\webapps\ROOT 下新建index.jsp,然后进行各种html的编码。
    例如:

    <%@page pageEncoding="UTF-8"%>
    <html>
    <head>
    <title>登录页面</title>
    </head>
    <body>
    <form action="login">
    <div style="color:red;font-size:28px">欢迎登录</div><br>
    账号:<input type="text" name="account"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="登录">

    </form>
    </body>
    </html>

  1. 编写后端Servlet

在别的地方(例如:D:\myweb01\src)

  1. 新建包名的目录D:\myweb01\src\com\nf\action ,跟Login.java的package报名保持一致。
  2. 在此目录下,新建一个类Login.java (注意类的第一个字母大写,文件名要跟类名一致)下边的是我写的,可供参考
    后辍名记得改.java

    package com.nf.action;

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

    @WebServlet("/login")
    public class Login extends HttpServlet{

    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    String account=request.getParameter("account");
    String password=request.getParameter("password");
    System.out.println("someone in,hi account="+account);
    System.out.println("password="+password);
    }

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    String account=request.getParameter("account");
    String password=request.getParameter("password");
    System.out.println("someone in,hi account="+account);
    System.out.println("password="+password);
    }

    }

  3. 编译

先进入D:\myweb01\src(从源码的根目录进行编译)

tomcat需要重启

然后把http://127.0.0.1:8080/index.jsp在浏览器的网址栏打开这地址

就可以打开你写的静态站了

学JAVA的第二天,静态网站制作,脑阔一点疼的更多相关文章

  1. 零基础学Java(12)静态字段与静态方法

    静态字段与静态方法   之前我们都定义的main方法都被标记了static修饰符,那到底是什么意思?下面我们来看看 静态字段   如果将一个字段定义为static,每个类只有一个这样的字段.而对于非静 ...

  2. 你以为我在玩游戏?其实我在学 Java

    大家好,我是程序员cxuan!今天和大家一起Look一下这个有趣的国外编程网站! 寓教于乐 "今天我们来学习 Java " . "Java 是一门面向对象的编程语言&qu ...

  3. 大型网站制作前端使用PHP后台逻辑用 Java

    对于网站团队,大概可以按照职责分为前端.后端.架构三种角色. 前端:负责所有和用户有交互的产品,包括 WEB以及手机客户端 后端:负责各种业务 API 的开发,以及服务器端其他系统的开发 架构:负责设 ...

  4. 【URLOS应用开发基础】10分钟制作一个nginx静态网站环境应用

    URLOS开发者功能已上线有一段时间了,目前通过部分开发者的使用体验来看,不得不说URLOS在服务器软件开发效率方面确实有着得天独厚的优势,凭借docker容器技术与其良好的应用生态环境,URLOS必 ...

  5. 《Linux就该这么学》培训笔记_ch10_使用Apache服务部署静态网站

    <Linux就该这么学>培训笔记_ch10_使用Apache服务部署静态网站 文章最后会post上书本的笔记照片. 文章主要内容: 网站服务程序 配置服务文件参数 SELinux安全子系统 ...

  6. 使用 Java 和 Maven (JBake) 生成静态网站

    使用 JBake("mvn generate-resources")构建您的静态网站或博客.使用布局.宏和数据文件. 我们迁移了整个www.optaplanner.org网站(13 ...

  7. 零基础学Java第二节(运算符、输入、选择流程控制)

    本篇文章是<零基础学Java>专栏的第二篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 第一章 运算符 1.1 算术运算符的概述和用法 运算符 对常量和变 ...

  8. 学java得这样学,学习确实也得这样

    引言 软件开发之路是充满荆棘与挑战之路,也是充满希望之路.Java学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰天大叫& ...

  9. 【aliyun】学java,看这里,不迷茫!1460道Java热门问题

    阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 ...

随机推荐

  1. 【记录】Windows 操作系统常用快捷命令

    https://www.lifewire.com/command-line-commands-for-control-panel-applets-2626060 打印机      control pr ...

  2. SELECT 语句

    常见表的操作 查看数据库的表   show  table 查看表结构     desc 表名 删除表   drop table表 修改表的结构 添加列  alter   table 表名 add 列名 ...

  3. 查询Python版本

  4. 算法与数据结构(三) 二叉树的遍历及其线索化(Swift版)

    前面两篇博客介绍了线性表的顺序存储与链式存储以及对应的操作,并且还聊了栈与队列的相关内容.本篇博客我们就继续聊数据结构的相关东西,并且所涉及的相关Demo依然使用面向对象语言Swift来表示.本篇博客 ...

  5. ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddleware中间件如何针对响应码呈现错误页面

    StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件比较类似,它们都是在后续请求处理过程中“出错”的情况下利用一个错误处理器来完成最终的 ...

  6. HashMap 相关面试题及其解答

    Q:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点.当链表长度超过 8 时,链表转换为红黑树. transient Node<K,V>[] ...

  7. CAS实现单点登录SSO执行原理及部署

    一.不落俗套的开始 1.背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS框架:CAS(Centra ...

  8. TensorFlow.org教程笔记(一)Tensorflow初上手

    本文同时也发布在自建博客地址. 本文翻译自www.tensorflow.org的英文教程. 本文档介绍了TensorFlow编程环境,并向您展示了如何使用Tensorflow解决鸢尾花分类问题. 先决 ...

  9. [Swift]LeetCode390. 消除游戏 | Elimination Game

    There is a list of sorted integers from 1 to n. Starting from left to right, remove the first number ...

  10. [Swift]LeetCode748. 最短完整词 | Shortest Completing Word

    Find the minimum length word from a given dictionary words, which has all the letters from the strin ...