Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

get website URL in a servlet

 
Ben Hagadorn
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a servlet who's main purpose is to run a timed job that sends email to a list of recipients when certain error conditions occur (based upon checking a table in the DB). Included in this email is a link to a web page that the user can click on to view more details about the errors.

The issue that I'm having is that I'd like to be able to dynamically determine what the URL of the website is for the email message I send. The doGet() and doPost() are never used so I have no handle to a request object -- all I have is the ServletContext object from the init() event.

I realize that I could add a configuration parameter to the web.xml file and get it by calling servletContext.getInitParameter() but I'd rather not do that: this app could be installed on several servers and I don't want to have to change the web.xml file for each one.

Is there a way to get the URL info from the servletContext?

Thanks for the help.

- Ben
 
Ben Souther
Sheriff
Posts: 13411
Firefox Browser Redhat VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You could put the URL in a properties file, or in a database.
I know with Tomcat, you can set context-init-params from either server.xml or from your context fragment files (depending on how you're deploying your app).
Both of those reside outside of the actual war file or webapps directory structure. There is also JNDI.
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just an idee !
Can you add a filter. this filter will extract the needed information (server name , context ) only once !this information can then be stored somwhere static variable , application context...... Then when your deamon servlet is running it can get back the information!

Ok this is not perfect you need that someone came on your site before having the information. But i hope it is the case
 
Ben Souther
Sheriff
Posts: 13411
Firefox Browser Redhat VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ben,
I think Ben's question had more to do with making the variable configurable from outside the webapp.
-Ben.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic