jsp 实验20

三、源代码以及执行结果截图:

NewFile.jsp

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

<%@ page contentType="text/html" %>

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

<jsp:useBean id="english" class ="web.EnglishBean" scope="request"/>

<style>

   #tom{

      font-family:宋体;font-size:22;color:blue 

   }

</style>

<HTML>

<body id="tom" bgcolor="#ffccff">

<form action="readFile" id="tom" method="post">

选择一篇课文:<br>

<%  

File f = new File(".");

String jspPage=request.getServletPath();

String webDir = request.getContextPath();

jspPage =jspPage.substring(1);

webDir = webDir.substring(1);

String path = f.getAbsolutePath();

int index = path.indexOf("bin");

String webRoot = request.getRealPath("/");

String filePath = webRoot + "/englishText";

File fileDir=new File(filePath);

String name [] = fileDir.list();

%>  

<select id= tom name="fileName" size =1>

<%  

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

%>    

<option selected value='<%=name[i]%>'/><%=name[i]%>

<% 

 }

%>  

</select> 

<input type=hidden name='filePath' value='<%=filePath%>' />

<br><input type=submit id=tom value="学习" /><br>

<textArea id="tom" rows="15" cols="80">

<%=english.getFileContent()%>

</textArea><br>

<% 

if(english.getFileName().length()>0) {

%><br>

<%=english.getFileAudio()%>:<br>

<embed src ='englishAudio/<%=english.getFileAudio()%>' height="56" autostart='false'>

</embed>

<%}

%>

</form>

</body>

</HTML>

EnglishBean.java

package web;

public class EnglishBean {

   public String fileName="";

   public String fileContent="";

   public String fileAudio;

   public void setFileName(String str){

      fileName=str;

   }

   public String getFileName(){

      return fileName;

   }

   public void setFileContent(String str){

      fileContent=str;

   }

   public String getFileContent(){

      return fileContent;

   }

   public void setFileAudio(String str){

      fileAudio = str;

   }

   public String getFileAudio(){

      return fileAudio;

   }

}

ReadFile_Servlet.java

package handle;

import web.EnglishBean;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class eadFile_Servlet extends HttpServlet{

   public void init(ServletConfig config) throws ServletException{

      super.init(config);

   }

   public void service(HttpServletRequest request,HttpServletResponse response)throws                                               ServletException,IOException{

      EnglishBean fileBean=new EnglishBean();

      request.setAttribute("english",fileBean);

      String fileContent="";

      request.setCharacterEncoding("utf-8");

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

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

      if(filePath==null||fileName==null)

         return;

      if(fileName.length()==0||fileName.length()==0)

         return;

      fileBean.setFileName(fileName);

      String audioFileName =

      fileName.substring(0,fileName.lastIndexOf("."))+".mp3";

      fileBean.setFileAudio(audioFileName);

      try{  File f=new File(filePath,fileName);

            RandomAccessFile randomAccess = new RandomAccessFile(f,"r");

            String s=null;

            StringBuffer stringbuffer=new StringBuffer();

            while ((s=randomAccess.readLine())!=null){

                byte b[] = s.getBytes("iso-8859-1");

                stringbuffer.append("\n"+new String(b));

            }

            fileContent=new String(stringbuffer);

            fileBean.setFileContent(fileContent);

      }

      catch(Exception exp){

            fileContent ="读取失败"+exp.toString();

      }

      RequestDispatcher dispatcher=

      request.getRequestDispatcher("NewFile.jsp");

      dispatcher.forward(request, response);

    }

}

web.xml

<web-app>

    <servlet>

        <servlet-name>readFile</servlet-name>

        <servlet-class>handle.eadFile_Servlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>readFile </servlet-name>

        <url-pattern>/readFile </url-pattern>

    </servlet-mapping>

</web-app>

                                           (空间不够,可加附页)

效果图展示

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT--DAY1

不使用图形化界面实现一个登陆界面 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//设置窗口标题this->setWindowTitle("登录界面");//设置窗口大小this->resize(535,410);//固定窗口大小this->setFixedSize(535,410)…

代理流覽器的功能和具體使用方法

代理流覽器是一種通過代理伺服器中轉用戶請求的流覽器工具。當用戶通過代理流覽器訪問網站時&#xff0c;流覽器並不會直接與目標網站伺服器進行通信&#xff0c;而是先將請求發送到代理伺服器&#xff0c;由代理伺服器代為轉發請求並獲取回應數據。這樣一來&#xff0c;目標網…

181.二叉树:验证二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

Flink任务如何跑起来之 2.算子 StreamOperator

Flink任务如何跑起来之 2.算子 StreamOperator 前文介绍了Transformation创建过程&#xff0c;大多数情况下通过UDF完成DataStream转换中&#xff0c;生成的Transformation实例中&#xff0c;核心逻辑是封装了SimpleOperatorFactory实例。 UDF场景下&#xff0c;DataStream到…

Spring Boot整合hibernate-validator实现数据校验

文章目录 概念基本概念常用校验注解 前置内容整合Hibernate Validator快速入门优雅处理参数校验异常其余注解校验自定义校验注解 参考来源 概念 基本概念 Hibernate Validator 是一个参数校验框架&#xff0c;可以非常方便地帮助我们校验应用程序的入参&#xff0c;实现了参数…

MySQL怎么为表添加描述

1.MySQL为表添加描述的方法 在MySQL中&#xff0c;表本身并没有直接的“描述”字段或属性来存储关于表的额外信息&#xff0c;如用途、创建者、备注等。但是&#xff0c;我们可以通过几种方式来实现这一需求&#xff1a; 1.1使用COMMENT关键字为表或列添加注释 虽然这不是一…

英伟达SSD视觉算法模型训练代码解析

一、官方源代码 #!/usr/bin/env python3 # # train an SSD detection model on Pascal VOC or Open Images datasets # https://github.com/dusty-nv/jetson-inference/blob/master/docs/pytorch-ssd.md # import os import sys import logging import argparse import dateti…

NLP数据集的标注笔记0.1.000

NLP数据集的标注0.1.000 命名实体识别(Named Entity Recognition,简称NER)关系抽取(Relation Extraction,简称RE)事件抽取 (Event Extraction, 简称EE)评价观点抽取参考链接命名实体识别(Named Entity Recognition,简称NER) 抽取的类别没有限制,用户可以自己定义,如…

解决:selenium运行时driver初始化失败 DevToolsActivePort file doesn‘t exist的问题

解决&#xff1a;selenium运行时driver初始化失败 DevToolsActivePort file doesn‘t exist的问题 DevToolsActivePort file doesnt exist报错信息&#xff1a;![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b3f8acc1c47d45e3912575896e421567.png)现象&#xff1…

10.4 Go 并发模式

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【Android】基于webView打造富文本编辑器(H5)

目录 前言一、实现效果二、具体实现1. 导入网页资源2. 页面设计3. 功能调用4. 完整代码 总结 前言 HTML5是构建Web内容的一种语言描述方式。HTML5是Web中核心语言HTML的规范&#xff0c;用户使用任何手段进行网页浏览时看到的内容原本都是HTML格式的&#xff0c;在浏览器中通过…

幸狐RV1106开发板烧录Ubuntu系统与配置SDK,RV1106 LuckFox Pico Max——最新的操作

资料&#xff1a;上手教程 | LUCKFOX WIKI 以及SDK内的文档资料 开发板型号&#xff1a;RV1106 LuckFox Pico Max 烧录系统&#xff1a; Ubuntu 虚拟机系统&#xff1a;Ubuntu 20.04&&Ubuntu22.04 PC系统&#xff1a;win11 占用空间&#xff1a;大概15G 本文主要记…

MinIO常见API

MinIO作为一款高性能的对象存储服务器&#xff0c;提供了丰富的API接口用于操作和管理对象存储。以下是一些MinIO常见的API&#xff0c;以分点表示和归纳的形式进行说明&#xff1a; 存储桶&#xff08;Bucket&#xff09;操作 bucketExists: 功能&#xff1a;判断指定的存储…

解决IDEA报错Could not find resource mybatis-config.xml最全排错解决收录

解决IDEA报错:Could not find resource mybatis-config.xml最全排错解决收录 1.问题产生 迁移新项目的Java web开发测试数据库时IDEA爆Could not find resource mybatis-config.xml 这个错误表明Mybatis无法找到名为mybatis-config.xml的配置文件。 需要确保该文件存在于cla…

【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt窗口 | 对话框 | 创建自定义对话框 文章编号&#xff1a;Qt 学习笔记…

量化交易:miniQMT的可转债与正股折价套利策略python代码

哈喽,大家好,我是木头左! 套利是一种艺术,一种利用市场的价格差异来获取无风险利润的艺术。而可转债与正股之间的折价套利,更是量化交易者眼中的香饽饽。今天,我们将一起揭开这层神秘的面纱,探索如何使用miniQMT和Python来实现这一策略。 🔍 什么是折价套利? 折价套…

鸿蒙轻内核A核源码分析系列七 进程管理 (3)

本文记录下进程相关的初始化函数&#xff0c;如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。 1、LiteOS-A内核进程创建初始化通用函数 先看看一些内部函数&#xff0c;不管是初始化用户态进程还…

Spring 内置BeanPostProcessor 的子子孙孙

Spring 框架已经实现了很多BeanPostProcessor的类&#xff0c;如下是关于BeanPostProcessor 的类图&#xff0c;图片过大&#xff0c;可以下载资源包看。 要能说清楚这些类&#xff0c;挺难&#xff0c;我也不知道怎么写&#xff0c;这几个类都分布在不同的包中&#xff0c;我感…

Spring系统学习 - Bean的作用域

bean作用域介绍 Spring框架提供了不同的作用域来管理Bean的生命周期和可见性&#xff0c;这对于控制不同类型的组件和处理并发请求尤其重要。 singleton&#xff08;默认&#xff09;&#xff1a; 每个Spring IoC容器只有一个bean实例。当容器创建bean后&#xff0c;它会被缓存…

C#聊天室①

聊天室服务器&#xff1a; 创建项目 桌面不需要使用控件 Program.cs internal class Program {static TcpListener server;[STAThread]static void Main(){Program p new Program(); p.start();}void start(){server new TcpListener(IPAddress.Parse(GetIP()), 33…