javaEE7

1.

<%@ page pageEncoding="UTF-8"%>

<%@ page import="java.io.*"%> 

<%@ page import="java.util.*"%> 

<%@ page import="java.math.*"%> 

<html> 

<head><title>网站计数器</title></head> 

<body> 

<%! 

    BigInteger count = null ;  //定义一个

%> 

<%! 

    public BigInteger load(File file){ 

        BigInteger count = null ;  // 接收数据 

        try{  //判断是否有存储数据的文件

            if(file.exists()){ 

                Scanner scan = new Scanner(new FileInputStream(file)) ;

                if(scan.hasNext()){ 

                    count = new BigInteger(scan.next()) ;//将内容放到BigInteger类中

                } 

                scan.close() ; 

            } else {   

                count = new BigInteger("0") ;  // 从0开始

                save(file,count) ;   // 保存为一个新的文件

            } 

        }catch(Exception e){ 

            e.printStackTrace() ; 

        } 

        return count ; 

    } 

    public void save(File file,BigInteger count){  //保存计数文件

        try{ 

            PrintStream ps = null ;

            ps = new PrintStream(new FileOutputStream(file)) ;

            ps.println(count) ;

            ps.close() ; 

        }catch(Exception e){ 

            e.printStackTrace() ; 

        } 

    } 

%> 

<% 

    String fileName = this.getServletContext().getRealPath("/") + "count.txt";  // 保存所有的计数结果 

    File file = new File(fileName) ; 

    if(session.isNew()){  //同一次会话不重复计数

        synchronized(this){ 

            count = load(file) ;   

            count = count.add(new BigInteger("1")) ;    // 再原本的基础上增加1。 

            save(file,count) ; 

        } 

    } 

%> 

<h2>您是第<%=count==null?0:count%>位访客!</h2> 

</body> 

</html>  

2.

<%@ page language="java"

         contentType="text/html; charset=UTF-8"

         pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

    <%

        String username = "";

        String password = "";

        // 获取cookie

        Cookie[] cookies = request.getCookies();

        // 如果为空,则停留在该页面

        if(cookies == null){

            return ;

            // 不为空则获取用户名和密码

        }else{

            for(int i = 0; i < cookies.length; i++){

                if("username".equals(cookies[i].getName())){

                   username = cookies[i].getValue();

                }

                if("password".equals(cookies[i].getName())){

                   password = cookies[i].getValue();

                }

            }

            // 验证用户名和密码

            if("admin".equals(username) && "123".equals(password)){

                session.setAttribute("username", username);

                session.setAttribute("password", password);

            }

        }

    %>

    <form action="test" method="post">

        用户名:<input type="text" name="username"/><br/>

        密&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" /><br />

        <input type="submit" value="登陆" />

    </form>

</body>

</html>

3.

Index.jsp

<%@ page  pageEncoding="utf-8"%>

<html>

<body>

<iframe src="content.jsp" name="content" width="100%" height="80%"></iframe>

<form action="addinfo.jsp" target="content" id="chatform" method="post">

      昵称:<input type="text" name="nicheng" id="nicheng">

       发言:<input type="text" name="info" id="info">

       <input type="button" value="确定" onclick="check()">

    </form>

    <script>

    function check(){

     var nicheng=document.getElementById("nicheng").value;

     var info=document.getElementById("info").value;

     if(nicheng==''||info==''){

          alert("昵称或留言内容不能为空");

     }

     else{

          document.getElementById("chatform").submit();

     }

     }

    </script>

</body>

</html>

Content.jsp

<%@ page pageEncoding="utf-8" import="java.util.*"%>

<%@ page import="org.apache.commons.lang3.StringUtils"%>

<html>

  <head>  

    <meta http-equiv="refresh" content="10">

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">   

 </head>

 <body>

 <%

    request.setCharacterEncoding("UTF-8");

 %>

    <%=application.getAttribute("infoList1")    %>

 </body>

</html>

Addinfo.jsp

<%@ page pageEncoding="utf-8" import="java.util.*,java.text.*"%>

<%@ page import="org.apache.commons.lang3.StringUtils"%>

<html>



  <body>

    <%

    request.setCharacterEncoding("UTF-8");

    String nicheng=request.getParameter("nicheng");

    String info=request.getParameter("info");

    String time=new SimpleDateFormat("yy-MM-dd kk:mm:ss").format(new Date());//当前时间

    List<String> infoList=new ArrayList<String>();

    String s=(String)application.getAttribute("infoList1");

    if(s==null){

    //第一次存储信息

    s="";

    }

    else{

    String[] a=s.split("<br>");

        int b=a.length;

    if(b==30){

        //够30条

        s="";

    }

    infoList.add(nicheng+"在"+time+"说:"+info+"<br>");

    s=s+StringUtils.strip(infoList.toString(),"[]");

        //添加

    }

    application.setAttribute("infoList1", s);

    response.sendRedirect("content.jsp");

    //重定向到content.jsp

    %>

  </body>

</html>

GetNumer.jsp

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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

程序随机产生了一个0-100间的整数,请猜一猜<br>

<%

int n=(int)(Math.random()*100)+1;

session.setAttribute("save", new Integer(n));

%>

<form action="caishu.jsp" method="post">

<input type="text" name="t1"/>

<input type="submit" value="guess"/>

</form>

</body>

</html>

Caishu.jsp

<%@ page pageEncoding="UTF-8" %>

<html>

<body>

<body>

程序随机产生了一个0-100间的整数,请猜一猜<br>

<form  action="caishu.jsp" method="get">

<input type="text" name="t1"/>

<input type="submit" value="guess"/>

</form>

<%

String t1=request.getParameter("t1");

Integer integer=(Integer)session.getAttribute("save");

int realnumber=integer.intValue();

if(t1!=null){

    int t=Integer.parseInt(t1);

    if(t==realnumber){

   

        out.print("right,<a href='getNumber.jsp'>再来一次</a>");

    }

    else if(t<realnumber){

   

        out.print("too small");

        out.println(realnumber);

    }

    else{

   

        out.print("too large");

        out.println(realnumber);

    }

}

%>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/459516.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

单例各样方式的写法

单例简介 特点 内存中只有一个实例&#xff0c;节约内存&#xff0c;无需频繁创建&#xff0c;减少性能开销&#xff0c;提高系统运行效率使用者无需关心类创建过程&#xff0c;整个项目中任何地方、任何时间开箱即用 缺点 单例模式没有抽象&#xff0c;扩展会有很大困难单例类…

LeetCode 热题 100 | 回溯(二)

目录 1 39. 组合总和 2 22. 括号生成 3 79. 单词搜索 菜鸟做题&#xff0c;语言是 C&#xff0c;感冒快好版 关于对回溯算法的理解请参照我的上一篇博客&#xff1b; 在之后的博客中&#xff0c;我将只分析回溯算法中的 for 循环。 1 39. 组合总和 题眼&#xff1a;c…

Vue.js+SpringBoot开发个人健康管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健康咨询模块 三、系统展示四、核心代码4.1 查询健康档案4.2 新增健康档案4.3 查询体检档案4.4 新增体检档案4.5 新增健康咨询 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

c++入门你需要知道的知识点(上)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今日主菜&#xff1a;c入门 主厨&#xff1a;邪王真眼 所属专栏&#xff1a;c专栏 主厨的主页&#xff1a;Chef‘s blog 前言&#xff1a; 咱也是好久没有更…

【实战】VMware17虚拟机以及Centos7详细安装教程

文章目录 前言技术积累VMware虚拟机的安装下载VMware安装文件VMware安装步骤VMware配置密匙 虚拟机中安装centos7准备工作创建虚拟机步骤1 自定义安装步骤2 硬盘兼容性步骤3 安装客户机操作系统步骤4 选择客户机操作系统步骤5 命名虚拟机步骤6 处理器配置步骤7 设置虚拟机内存步…

Django之Cookie

Django之Cookie 目录 Django之Cookie介绍Django操作Cookie设置Cookie浏览器查看Cookie 获取Cookie设置超时Cookie注销Cookie 模拟登录验证登录验证装饰器登录验证装饰器-升级版 介绍 当我们上网使用社交媒体或者购物时&#xff0c;浏览器需要通过一种方式来记住我们。想象一下…

构造函数、原型、instanceof运算符

通过构造函数创建对象 构造函数是学习面向对象的基础 任何函数都有原型对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

Linux--基本知识入门

一.几个基本知识 终端: CtrlAltT 或者桌面/文件夹右键,打开终端切换为管理员: sudo su 退出:exit查看内核版本号: uname -a内核版本号含义: 5 代表主版本号;13代表次版本号;0代表修订版本号;30代表修订版本的第几次微调;数字越大表示内核越新. 二.目录…

ADC架构I:Flash转换器

目录 简介 量化噪声模型 量化噪声模型 量化噪声与输入信号之间的相关性容易令人误解 SNR、处理增益和FFT噪底的关系 简介 接触ADC或DAC时您一定会碰到这个经常被引用的公式&#xff0c;用于计算转换器理论信噪比 (SNR)。与其盲目地相信表象&#xff0c;不如从根本上了解其…

单目测距+姿态识别+yolov8界面+车辆行人跟踪计数

yolov5单目测距速度测量目标跟踪&#xff08;算法介绍和代码&#xff09; 1.单目测距实现方法 在目标检测的基础上&#xff0c;我们可以通过计算物体在图像中的像素大小来估计其距离。具体方法是&#xff0c;首先确定某个物体的实际尺寸&#xff0c;然后根据该物体在图像中的像…

Linux编译器gcc/g++的功能与使用

一、程序的生成 首先&#xff0c;我们知道程序的编译分为四步&#xff1a; 1、预处理 2、编译 3、汇编 4、链接 1.1预处理 预处理功能主要包括头文件展开、宏定义、文件包含、条件编译、去注释等。 所谓的头文件展开就是在预处理时候&#xff0c;将头文件内容拷贝至源文…

【优选算法】专题1 -- 双指针 -- 移动零

前言: &#x1f4da;为了提高算法思维&#xff0c;我会时常更新这个优选算法的系列&#xff0c;这个专题是关于双指针的练习 &#x1f3af;个人主页&#xff1a;Dream_Chaser&#xff5e;-CSDN博客 一.移动零&#xff08;easy&#xff09; 描述&#xff1a; 「数组分两块」是⾮…

构建部署_Docker常用命令

构建部署_Docker常见命令 启动命令镜像命令容器命令 启动命令 启动docker&#xff1a;systemctl start docker 停止docker&#xff1a;systemctl stop docker 重启docker&#xff1a;systemctl restart docker 查看docker状态&#xff1a;systemctl status docker 开机启动&…

Netty网络编程(一)

Netty网络编程&#xff08;一&#xff09; 如何进行网络通信 Socket通信是进程通讯的一种方式&#xff0c;通过调用这个网络库的一些API函数可以实现分布在不同主机的相关进程之间的数据交换 网络编程的基本流程是什么&#xff1f; 服务端先创建socket套接字&#xff0c;然后用…

HarmonyOS 非线性容器特性及使用场景

非线性容器实现能快速查找的数据结构&#xff0c;其底层通过 hash 或者红黑树实现&#xff0c;包括 HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray 七种。非线性容器中的 key 及 value 的类型均满足 ECMA 标准。 HashMap HashMap 可用来存…

L2-002 链表去重(Python)

给定一个带整数键值的链表 L&#xff0c;你需要把其中绝对值重复的键值结点删掉。即对每个键值 K&#xff0c;只有第一个绝对值等于 K 的结点被保留。同时&#xff0c;所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15&#xff0c;你需要输出去重后…

18 OpenCV霍夫变换检测直线

文章目录 HoughLines 算子HoughLinesP 算子示例 HoughLines 算子 cv::HoughLines( InputArray src, // 输入图像&#xff0c;必须8-bit的灰度图像 OutputArray lines, // 输出的极坐标来表示直线 double rho, // 生成极坐标时候的像素扫描步长 double theta, //生成极坐标时候…

干货|超实用的PMP学习资料

所有PMP备考笔记资料&#xff0c;文末获取&#xff01; 在通过PMP考试之后&#xff0c;我搜集整理了一些适合零基础入门的项目管理资料&#xff0c;想学习PMP的同学可以自取使用哦&#xff01; 有相关工作经验&#xff08;项目经理/产品经理/技术岗&#xff09; 有相关工作经…

解决ubuntu 22.04新内核6.5.0-15无法编译NVIDIA显卡驱动

这里的新内核应该包括6.5.*系列的 文章目录 遇到的问题&#xff1a; 遇到的问题&#xff1a; 今天我在安装NVIDIA显卡驱动发现了一个问题&#xff0c;主要日志如下所示&#xff1a; make[3]: *** [scripts/Makefile.build:251: /tmp/selfgz1310041/NVIDIA-Linux-x86_64-550.5…

【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug

文章目录 前言 时间阈值断点 信号阈值断点 周期步进 Signal Value Lable Data Inspector 分析和应用 总结 前言 近期在一些研发项目中使用Matlab/Simulink时&#xff0c;遇到了挺多费时费力的事情。所以利用晚上和周末时间&#xff0c;在这些方面深入研究了一下&#x…
最新文章