先从下载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. c++编译错误C2971:"std::array":array_size:包含非静态存储不能用作废类型参数;参见“std::array”的声明

    在Qt5中这段代码编写有两种方式:一个编译成功,一个失败 成功版本: static constexpr size_t block_size = 0x2000;//8KB static constexp ...

  2. Centos7 编译测试工具 wrk bombardier iftop

    1.wrk 安装及使用----------------------------------------------------------------------------------------- ...

  3. Python入门(青铜篇)

    一.定义变量 print('hello world \n') 定义变量name='单宝梁' #定义字符串一定加‘’age=28 引号使用words="i'm 单宝梁" #字符串里有 ...

  4. Javascript中的this关键字用法详解

    在javascript里面,this是一个特殊的对象,它不像其他编程语言那样,是存储在实例中的值,直接指向此实例. 而是作为一个单独的指针,在不同的情况之下,指向不同的位置,这也是为什么我们会将它搞混 ...

  5. 14.Git分支-rebase有趣的例子、变基带来的问题及解决方案

    1.有趣的变基例子 如下图所示,你创建了一个特性分支server,然后进行了一些提交(C3和C4),然后又从C3上创建了特性分支client,提交了C8和C9,最后你又回到了server,提交了C10 ...

  6. docker常用指令01

    1.进入交互式界面 docker run (--name=xx命名)-i -t ubuntu /bin/bash docker run --name=con1 -i -t ubuntu /bin/ba ...

  7. Linux 文件夹压缩命令总结

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...

  8. 【Spark篇】---Spark中yarn模式两种提交任务方式

    一.前述 Spark可以和Yarn整合,将Application提交到Yarn上运行,和StandAlone提交模式一样,Yarn也有两种提交任务的方式. 二.具体      1.yarn-clien ...

  9. Python内置函数(17)——divmod

    英文文档: divmod(a, b) Take two (non complex) numbers as arguments and return a pair of numbers consisti ...

  10. BBS论坛(九)

    9.1.权限和角色模型定义 (1)cms/models class CMSPermission(object): ALL_PERMISSION = 0b11111111 # 1.访问者的权限 VISI ...