Il y a beaucoup d'animations sur le disque dur, mais il est difficile de connecter le disque dur à l'ordinateur et de le regarder, alors rendons-le visible depuis le navigateur.
Puisque l'endroit où l'animation est enregistrée n'est pas un NAS mais juste un disque dur, on suppose que le disque dur est un NAS utilisant Raspberry Pi. La procédure pour transformer un disque dur en NAS n'est pas illustrée ici.
HDD(NAS)Emplacement
/mnt/hdd/HD-V3/Anime/
La procédure sur ce site est super facile à comprendre, alors suivez ici. Paramètre d'environnement Raspberry pie Tomcat-8
Si vous suivez les principes de base tels qu'ils sont écrits, cela fonctionnera sans problème. Cependant, si vous le faites avec wget exactement de la même manière, cela ne fonctionnera pas car apache-tomcat-8.5.4.tar.gz n'est plus disponible. Depuis 8.5.31 était à jour, je pense que vous devriez télécharger apache-tomcat-8.5.31.tar.gz sur Windows et l'envoyer à Raspai avec scp ou quelque chose. Il semblait que j'utilisais gedit (?) Pour éditer le script, mais c'était comme ça, alors j'ai écrit le script dans mon nano préféré. Si vous suivez les étapes du lien ci-dessus, tomcat ira dans / usr / local / tomcat. Cette fois, je vais poursuivre l'histoire avec Tomcat ici.
emplacement de tomcat
/usr/local/tomcat/
Le travail est effectué dans un dossier appelé espace de travail. tomcat semble spécifier le nom du dossier pour mettre le fichier de classe de l'application Web. Si vous créez une application avec une hiérarchie basée sur elle, la hiérarchie sera la suivante. À l'origine, cette fois, il semble que je vais créer un dossier de ma propre application sous tomcat / webapps /, mais comme le NAS est sur une couche supérieure, je ne veux pas créer d'application Web sous webapps. C'est pourquoi l'espace de travail est placé sur le disque dur.
emplacement de l'espace de travail
/mnt/hdd/HD-V3/Anime/workspace/
L'espace de travail n'est pas sous les applications Web, vous devez donc le dire à tomcat. Écrivez comme suit. Le nom du fichier doit être le nom du répertoire. (Il semble y avoir un moyen de l'écrire dans server.xml, mais cela n'a pas fonctionné.)
/usr/local/tomcat/conf/Catalina/localhost/workspace.xml
<Context path="/workspace" docBase="/mnt/hdd/HD-V3/Anime/workspace" />
Écrivez la structure de page de l'espace de travail.
/mnt/hdd/HD-V3/Anime/workspace/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>cookie1</servlet-name>
<servlet-class>cookie1</servlet-class>
</servlet>
<servlet>
<servlet-name>cookie2</servlet-name>
<servlet-class>cookie2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
cookie1
</servlet-name>
<url-pattern>
/servlet/cookie1
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
cookie2
</servlet-name>
<url-pattern>
/servlet/cookie2
</url-pattern>
</servlet-mapping>
</web-app>
J'avais initialement prévu d'utiliser des cookies, donc ce nom est utilisé, mais je ne l'ai pas utilisé dans le programme. cookie1.java Obtenez la liste des noms de fichiers dans / mnt / hdd / HD-V3 / anime / workspace / anime /, ajoutez-la au menu déroulant, sélectionnez un titre et passez à cookie2.java.
cookie1.java
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.File;
public class cookie1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
out.println("<html><head>");
out.println("<title>cookie1</title>");
out.println("</head><body>");
out.println("<h1>Wiki Anime DB</h1><hr>");
String root="/mnt/hdd/HD-V3/Anime/workspace/anime/";
File dir=new File(root);
File[] list=dir.listFiles();
out.println("Nombre de titres:"+list.length+"<br>");
out.println("<form action=\"/workspace/servlet/cookie2\" method=\"GET\">");
out.println("Nom: <input type=\"text\" name=\"name\" size=32>");
out.println("<br>");
out.println("<input type=\"submit\" value=\"Génération de code\">");
out.println("<br>");
out.println("<select name=\"anime\">");
for(int i=0;i<list.length;i++){
String dst=list[i].toString();
dst=dst.replace(root,"");
out.println("<option value=\""+dst+"\">"+dst+"</option>");
}
out.println("<select>");
out.println("</form>");
out.println("</body></html>");
}
}
cookie2.java Sur la base du titre d'animation reçu de cookie1.java, seuls les fichiers avec l'extension .mp4 | .MP4 dans la hiérarchie un niveau en dessous de ce dossier sont générés en les prenant en sandwich avec des balises vidéo.
cookie2.java
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.File;
public class cookie2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
String aname=request.getParameter("anime");
String eaname=URLDecoder.decode(aname,"UTF-8");
String root="../anime/";
String root_t="/mnt/hdd/HD-V3/Anime/workspace/anime/";
out.println("<html><head>");
out.println("<title>cookie2</title>");
out.println("</head><body>");
out.println("<h1>"+eaname+"</h1><hr>");
out.println("Dossier d'anime sélectionné="+eaname+"<br>");
out.println("<form action=\"/workspace/servlet/cookie1\" method=\"GET\">");
out.println("<input type=\"submit\" value=\"Revenir\">");
out.println("</form>");
File dir=new File(root_t+eaname);
File[] list=dir.listFiles();
out.println("Fichier="+list.length+"<br>");
for(int i=0;i<list.length;i++){
String dst=list[i].toString();
dst=dst.replace(root_t+eaname+"/", "");
if(dst.indexOf(".mp4")!=-1 || dst.indexOf(".MP4")!=-1){
dst=root+eaname+"/"+dst;
out.println(dst+"<br>");
out.println("<video src=\""+dst+"\" preload=\"none\" controls></video><br>");
}
}
out.println("</body></html>");
}
}
Vous devez compiler en ajoutant servlet-api.jar avec l'option classpath.
/mnt/hdd/HD-V3/Anime/workspace/WEB-INF/classes/
$ javac -classpath "/usr/local/tomcat/lib/servlet-api.jar" cookie1.java
$ javac -classpath "/usr/local/tomcat/lib/servlet-api.jar" cookie2.java
Mise en garde Initialement, la compilation a échoué car /usr/local/tomcat/lib/servlet-api.jar ne dispose pas des autorisations.
Autorisation
$sudo chmod 755 /usr/local/tomcat/lib/servlet-api.jar
J'ai accordé les autorisations, puis je l'ai compilé et cela a fonctionné.
python
$ sudo /etc/init.d/tomcat start
Mais pour le moment, ZOY vous permet de regarder l'animation sur le disque dur plus confortablement depuis votre smartphone.
Recommended Posts