• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Moved my database from MySQL to mariaDB and now I can not run the application

 
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
I have moved my database from MySQL to mariaDB and now I can not run the application. I believe I have made al the necessary changes (included the new jar and updated the connector). I am not sure what is wrong so I have searched the logs. Two issue pop up:

1. catalina.2024-05-05.log (fourth line in the provided log output:



I have checked and the advice is to delete it if it exists already. While "C:\Tomcat_nje\webapps\test\META-INF\" does exist the "war-tracker" does not.

2. localhost_access_log.2024-05-05.txt (lines 11 and 25):


Line 11 "0:0:0:0:0:0:0:1 - - [05/May/2024:09:36:11 +1000] "POST /AwardTracker_NJE/LoginView HTTP/1.1" 400 827". LoginView.java has not been changed.
Line 25 "0:0:0:0:0:0:0:1 - - [05/May/2024:09:53:40 +1000] "POST /AwardTracker_NJE/CaptchaView HTTP/1.1" 404 783". CaptchaView.java has not been changed.

Anything obvious I am missing please?

Kind regards,

Glyn
 
Saloon Keeper
Posts: 15621
366
  • Number of slices to send:
    Optional 'thank-you' note:
Delete all traces of your webapp from your Tomcat installation. That involves not only removing the WAR and the exploded directory from the webapps folder, but also remove all related folders from the work directory and the config directory.

Ensure that the user account that Tomcat is running under has write access to the Tomcat installation folder.

Then rebuild and reinstall your WAR.
 
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:
Also, check to see if the webapp contains logic to create or write war-tracker.

A webapp should NEVER attempt to modify its WAR in any way. It's about 6 different types of trouble if you do, and will fail outright if Tomcat is set up to use non-exploded WARs.

A more general note on the same topic: don't use filesystem I/O or paths to locate or use any "file" that's within a WAR. If the WAR wasn't exploded, these I/O functions will fail. Always use the getResource/getResourceAsStream API methods, and use absolute paths (for example "/WEB-INF/classes/readme.txt"). The root of a webapp resource is the root of the WAR, so don't include the Tomcat directory path. Also webapp resource paths are always in Unix form ­— no backslashes!
 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
Thank you Stephan,

I have performed the tasks and am still not able to connect to the database.

Hi Tim,

Sorry I know very little about Tomcat.
1) How do I check to see if the webapp contains logic to create or write war-tracker please? I take it that I can ignore the error. I hate ignoring errors. Is there a way to fix/get rid of it?

I think I get the second point and will add it to my list of things to do.

Thank you both very much,

Kind regards,

Glyn


 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
OK, the weirdest thing has now happened. The Tomcat directory has disappeared from my directory. I took a backup before I made the recent changes so I thought I would recreate it. However, when I go to create the folder "Tomcat_nje" I get a system message that the folder already exists. Also, when I run my bat file it still runs, which indicates that the folders must be still there with the ROOT.war. Attached is an image of the folder containing Tomcat and this is my bat:
Folder-containing-Tomcat.PNG
 
Tim Holloway
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:
war-tracker is not part of Tomcat, so I have to assume that it's part of the webapp. So check the webapp source code. The quick way to do that on Linux and MacOS would be to "cd" to the source directory used to build the webapp and issue the shell command grep -ir tracker.

As I said, it is ABSOLUTELY NOT SAFE for a webapp to play with files in the WAR and if you find that there, you should fix the problem. I can help with that if/once you find it.

As for "losing" "the Tomcat directory", Tomcat is installed by unzipping a ZIP or tarballl to create the tomcat server directory and its children. If your top Tomcat directory was named "TOMCAT_HOME", for example (it won't be, it'll be something more like apache-tomcat-10.1.18), then you could deploy a WAR by copying it to TOMCAT_HOME/webapps/.
 
Stephan van Hulst
Saloon Keeper
Posts: 15621
366
  • Number of slices to send:
    Optional 'thank-you' note:
Maybe you've inadvertently hidden your Tomcat_nje folder. Change your file browser settings to display hidden files and folders.

If that doesn't help, it might be a hiccup in the file explorer. Either terminate and restart the explorer process, or sign out of your OS user session and sign back in (or restart your computer).

Anyway, once you've found your installation folder, show us the latest logs that Tomcat produces. "Not able to connect to the database" doesn't tell us much.
 
Tim Holloway
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:
Re-reading from the top, "Tomcat_nje" is the name that was given to the Tomcat server's root directory. So apparently you didn't just delete the webapp, you deleted Tomcat itself. Oops. Get a fresh copy of Tomcat (same version) and move it to the root of your C: drive, renamed to "Tomcat_nje" just like it was before.
 
Stephan van Hulst
Saloon Keeper
Posts: 15621
366
  • Number of slices to send:
    Optional 'thank-you' note:
Read again Tim. It appears the Tomcat installation exists, it's just hidden.
 
Tim Holloway
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:
Hmmm. There are too many Tomcats in that directory display. If "Tomcat_nje" exists but does not display, then I suspect one of two things:

A. The userid that Tomcat is running under has rights to see it, but the desktop user does not.

OR

B. There's a soft-link (alias) for Tomcat_nje and it's messed up somehow.
 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
Thank you. The folder was hidden and I have recovered it. I have now placed a series of log messages to help debug and will investigate further. This is a personal project so I only get a small amount of time to spend on it. I will probably get back on the weekend.

Thank you for all your help.

Kind regards,

Glyn
 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
Hi,

Found the issue. The class file is not being copied to the WEB-INF file by InteliJ. I manually copied it over and all works. I will now:
1. Find out how to resolve the InteliJ issue
2. Fix the issue with "war-tracker is not part of Tomcat, so I have to assume that it's part of the webapp. So check the webapp source code. The quick way to do that on Linux and MacOS would be to "cd" to the source directory used to build the webapp and issue the shell command grep -ir tracker.

As I said, it is ABSOLUTELY NOT SAFE for a webapp to play with files in the WAR and if you find that there, you should fix the problem. I can help with that if/once you find it.".

Thank you once again for all your help.

Kind regards,

Glyn
 
Stephan van Hulst
Saloon Keeper
Posts: 15621
366
  • Number of slices to send:
    Optional 'thank-you' note:
What class file? Can you also show us the latest Catalina logs, and your POM?
 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
Hi,

The Classes folder under WEB-INF. My structure is AwardTracker_NJE --> WEB-INF --> classes --> client (contains the views e.g., LoginView).
I do not have a POM.

The latest logs are:

catalina.2024-05-09.log


host-manager.2024-05-09.log - empty

localhost.2024-05-09.log


localhost_access_log.2024-05-09.txt


manager.2024-05-09.log - empty

Also, I can not find any mention of "war-tracker" in the project.

Kind regards,

Glyn
 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
Hi,

I found the 'war-tracker' in c:\Tomcat_nje\webapps\docs\changelog.html (see line 15):


I am not sure what to do with this.

Kind regards,

Glyn
 
Tim Holloway
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:
OK, I think you got 2 different items confused.

First, the war-tracker. It turns out that Tomcat adds this file to an exploded WAR so that it can detect changes made to that WAR while Tomcat was not running:

https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/config/host.html

There was a bug detected in 2016, reported and fixed, per your bug URL. As long as you're running a version of Tomcat newer than the versions listed in that bug report, that shouldn't be a problem. The problem was indicated in the change log, but as a repaired problem. The change log appears in a separate webapp named "docs", and offhand, I'd think that the docs app came with your copy of Tomcat, but you should be able to delete it safely (and it's one less security weakness if you do).

I said that applications should never update a deployed WAR, but of course, Tomcat can do whatever it likes. Note, however, that this feature is only applicable if Tomcat has an exploded WAR. Though since that's the default, it would be doing so.

Your second concern comes from the fact that the webapp is deployed under the context path "/AwardTracker_NJE/". The award tracker app has no direct connection or knowledge of what Tomcat's trying to do with "war-tracker", the similarity between names is purely incidental. The "404" errors you see in the log indicate an unresolvable URL, and that's just what happens when an improper URL is passed to a webapp, either badly capitalized/spelled, or because a component of the application didn't get installed.
 
Glyndwr Bartlett
Ranch Hand
Posts: 196
  • Number of slices to send:
    Optional 'thank-you' note:
Hi Tim,

Thank you. I have deleted the file as suggested.

Kind regards,

Glyn
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |