Un bon environnement augmentera l'efficacité du développement.
À l'origine, j'étais un utilisateur d'Eclipse, et Eclipse a tout fait sur le chemin de classe et les paramètres de Tomcat, mais après avoir rencontré IntelliJ, qui fonctionne bien, je ne pouvais pas abandonner cette sensation de netteté et j'ai dû changer. J'ai fait. Cependant, pour IntelliJ, vous devez acheter IntelliJ IDEA Ultimate (version payante) pour obtenir la «commodité» d'Eclipse, c'est le pouvoir de l'argent.
Je suis actuellement le principe IntelliJ Community (gratuit), pour les raisons suivantes: ・ Je souhaite acheter des livres et des cours, des pièces d'appareils et de matériel, etc. pour le montant que j'investis chaque mois dans la licence de la version payante. ・ Je veux définir la base dans une certaine mesure par moi-même
Ce dernier peut être similaire au sentiment d'essayer occasionnellement de créer un paquet avec les commandes vim et javac sans utiliser l'IDE.
Configurez grossièrement Tomcat et le débogueur dans IntelliJ Community.
(1) Avec une application nommée sample-app (2) Utilisez MySQL local pour les ressources DB (3) Essayez de vous connecter à http: // localhost: 8080 / sample-app /
.
OS est mac.
Comme il ne connecte que Tomcat, il est impliqué dans la configuration initiale du servlet java, du jsp et du cadre Spring.
0. javax.servlet
pom.xml
web.xml (paramètre bean) '' ``$ {nom-servlet} -servlet.xml``` (ou
`ʻapplication-context.xml```)Je voudrais omettre etc. et organiser principalement autour des paramètres de base de données et du débogage.
Sélectionnez et installez la version requise d'apache tomcat sur la Accueil officiel .
Parfois, il y a un problème que le tomcat existant et la dernière version de java ne correspondent pas, mais par exemple, si vous gardez un petit vieux Tomcat et mettez java8 et java9, Il peut être résolu en abaissant JAVA_HOME, qui a été mis à niveau à 9 dans les paramètres de la variable d'environnement, à 8.
File -> new -> Project...
Je veux utiliser maven, donc j'utiliserai l'application web de maven.
Il m'est arrivé de le couvrir, mais il n'est pas nécessaire que ce soit le nom de l'application.
Selon Maven POM Reference
En bref, groupId peut être un nom qui inclut un nom d'institution qui peut être distingué des autres projets, et artifactId doit être un nom fixe pour le projet.
Je me souviens qu'on m'avait dit que je n'avais pas besoin d'être si particulier sur le développement personnel.
Seul le pom est chargé à partir de l'état initial où le pom n'a pas encore été lu et n'est pas prêt à être déployé. Je pense que JUnit est écrit par défaut, mais je ne peux pas développer une application avec ça seul.
Je l'ai déjà essayé et ajouté java-servlet et réimporté. Un java-servlet a également été ajouté aux bibliothèques externes et peut être référencé.
Convertissez les fichiers .java en fichiers exécutables .class.
Pendant le développement, nous le nettoyerons une fois, mais comme il n'y a encore rien, appuyez sur package pour générer un package cible exécutable. Je pense que le nom était le nom par défaut.
C'est fait. Similaire au paramètre de sortie File-> Project Structure-> Complier.
La marque de l'ampoule indique que la version Ultimate est bonne lol ..
C'est exactement la même histoire, mais appuyez sur + en haut à gauche pour ajouter Maven et passez une commande qui peut faire nettoyer et empaqueter en même temps qu'une commande d'argument à l'avance.
C'est un répertoire de travail, mais ce devait être le chemin absolu du répertoire de l'application. Dans mon cas, je l'ai mis dans le répertoire personnel de mon mac, donc je l'ai écrit de cette façon. De plus, le nom sample-config est approprié.
-Dmaven.test.skip = true est une option pour ignorer le test lorsque vous souhaitez raccourcir le temps de déploiement. Il semble que l'omission du test n'est pas recommandée à l'origine, mais à mesure que le nombre de fichiers augmente, le travail de déploiement lui-même devient lourd, donc Je l'utilise beaucoup.
Et cela a été ajouté. Il est facile de procéder en un seul clic.
Obtenez la commande mvn de la maison officielle, installez-la,
$ cd {$APP_HOME}
$ mvn clean package -Dmaven.test.skip=true
Il est également pratique de frapper.
{$catalina_home}/conf/catalina/${host_name}/
Créez un fichier `` $ {APP_NAME} .xml '' directement en dessous.
{$CATALINA_HOME}Est votre propre apache-À l'emplacement de tomcat${HOST_NAME}Est d'accord avec localhost si local.
#### **`${APP_NAME}.Bien qu'il s'agisse de XML, exemple de l'application créée cette fois-Je l'ai nommé application, donc si vous l'exprimez avec un chemin absolu,`**
```Bien qu'il s'agisse de XML, exemple de l'application créée cette fois-Je l'ai nommé application, donc si vous l'exprimez avec un chemin absolu,
#### **`/Mon Tomcat/conf/Catalina/localhost/sample-app.Sera xml.`**
{$CATALINA_HOME}/conf/Serveur directement en dessous.Il y a du xml, et ça marche même si je l'écris directement,
Il s'agit d'un paramètre commun à toutes les applications, donc si vous souhaitez spécifier des paramètres pour chaque application individuelle, comme la connexion à la base de données, ne touchez pas Server.xml directement sous conf et `` `` {$ CATALINA_HOME} / conf / Catalina / $ {HOST_NAME } / ```Je pense qu'il vaut mieux créer un fichier de configuration pour chaque cocontext (application) directement sous`.
Par exemple, écrivez les paramètres de connexion à la base de données (MySQL) dans Ressource et enregistrez-les.
#### **`sample-app.xml`**
```xml
<Context docBase="{$APP_HOME}/target/sample-app" path="/sample-app" reloadable="true">
<Resource
name="jdbc/${jdbc_NAME}"
type="javax.sql.DataSource"
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://${DB_SERVER}/${DB_NAME}?userUnicode=true&charactorEncoding=UTF-8&autoReconnect=true"
username="${USER}" password="${PASS}"
validationQuery="select CURRENT_TIMESTAMP"
/>
</Context>
{$APP_HOME}Est le chemin absolu du répertoire dans lequel l'application est en cours de développement.
C'est `` `` {$ APP_HOME} / target / sample-app} '' directement en dessous, mais c'est l'endroit où le fichier de classe est éjecté à chaque fois que vous déployez, qui est défini dans IntelliJ.
Je l'ai fait `` / target / $ {APP_NAME} `` ``. Si je peux spécifier l'emplacement où le fichier de classe sera enregistré, j'aimerais le nommer.
Le standard est un chemin relatif depuis / webapp, mais cette fois je l'ai spécifié comme chemin absolu.
* <b> path </ b> <br> Chemin de contexte. La valeur par défaut est la valeur de l'attribut docBase, elle doit donc être facultative si vous souhaitez utiliser un exemple d'application comme la valeur de l'attribut docBase comme cette fois ...
* <b> rechargeables </ b> <br> S'il y a des mises à jour des fichiers .class ou .jar, c'est un indicateur qui détermine si Tomcat vérifiera s'ils sont automatiquement rechargés. Défini sur true pendant le développement. Cependant, je pense qu'il est préférable pour les performances de le réécrire sur false lorsque tout le développement est terminé.
## Ressource - Configurer la connexion à la base de données
Ajoutez `` <Resource> ... </ Resource> '' pour le nombre de bases de données à utiliser.
* <b> driverClassName </ b> <br> Nom de classe complet pour le pilote JDBC.
* <b> type </ b> <br> Type de ressource. Lorsque vous utilisez une source de données, spécifiez `` `` javax.sql.DataSource```.
* <b> auth </ b> <br> Méthode de contrôle des ressources. Lors de l'utilisation d'une source de données, spécifiez `` `` Container```
* <b> nom </ b> <br> Il s'agit du nom donné à la source de données.
> * Exemple de paramètres jndi (Java Naming and Directory Interface) et de servlet dans Spring Framework <br>
C'est comme donner (lier) un objet. <br>
#### **`web.De xml<servlet-mapping>Spécifié dans<servlet-name>Si c'est un sampleApp, je pense que j'écrirais un fichier de configuration avec un nom comme celui-ci. application-context.Il peut être défini en utilisant xml.`**
Si vous mettez
`name =" jdbc / sampleDB "`
dans`Resource``` plus tôt, vous obtiendrez`
`java: comp / env / jdbc / sampleDB```.
Cela ne couvre pas tous les attributs ... par exemple En supposant une utilisation personnelle des ressources locales au lieu de la base de données externe, maxIdle </ b> et les paramètres d'inactivité du pool de connexions J'ai omis maxActive </ b> pour le nombre maximum de connexions dans le pool.
- Pool de connexion Le pool a ici le sens de conserver. Le pool de connexions peut conserver plusieurs connexions entre l'application et le serveur de base de données. Il s'agit d'une fonction permettant de réutiliser la connexion et de gérer l'état de connexion de la base de données. Close (release) est un processus permettant de renvoyer la connexion utilisée au pool pour la prochaine connexion.
- inactif Il s'agit d'une connexion groupée (réservée).
$ cd ${apache-emplacement de tomcat}/bin
$ sh startup.sh
À la fin
$ sh shutdown.sh
De temps en temps, je le redémarre accidentellement et le processus reste, donc dans ce cas
$ ps -ef | grep tomcat
Ensuite, donnez le nombre approprié `` tuer ''.
Ce que vous voyez est le jsp fourni par défaut ici. C'est la cible.
Si vous essayez de supprimer target / sample-app / index.jsp, vous verrez qu'il manque la page 404. Vous pouvez le faire à nouveau en le déployant à nouveau.
bin/setenv.sh Directement sous le répertoire bin directement sous le répertoire de apache-tomcat Créez setenv.sh.
$ cd ${apache-emplacement de tomcat}/bin
$ vi setenv.sh
Le contenu est comme indiqué ci-dessous.
export JPDA_ADDRESS=9999
export JPDA_TRANSPORT=dt_socket
9999 n'a pas de sens, car c'est un numéro de port qui ne semble pas être attribué ... C'est comme le déploiement et l'exécution sur le port 8080 et le débogage à distance sur le port 9999.
Run -> Edit Configurations...
$ cd ${apache-emplacement de tomcat}/bin
$ sh catalina.sh jpda start
Puisqu'il s'agit d'un démarrage avec des options, vous n'avez pas besoin de faire
$ sh startup.sh```.
Si vous mettez un point d'arrêt comme d'habitude et que vous faites apparaître le bogue, ce n'est pas grave.
Comme les réglages initiaux ne sont pas effectués quotidiennement, j'ai parfois eu du mal en cas d'urgence, je l'ai donc rédigé comme mon propre mémo.
Je pense que la meilleure façon de créer un environnement est de vous convenir. À cette fin, il peut être le premier à essayer diverses choses, y compris la version payante.
c'est tout
Tous les noms d'échantillons ont été unifiés en «sample» pour une compréhension facile.
Recommended Posts