I am a danish programmer living in Bangkok.
Read more about me @ rasmus.rummel.dk.
Webmodelling Home > Tomcat 7 on Windows server 2008r2 IIS 7.5
Do good

Windows 2008r2 - IIS 7.5 - Tomcat 7

15 Apr 2013. How to install Tomcat 7 on a Windows server 2008r2 with IIS 7.5. While I assume you already have a windows server 2008r2 with IIS 7.5 up and running, this document is a step-by-step tutorial installing Tomcat.

  1. Install Tomcat
  2. Install Tomcat as a Windows Service
  3. Use IIS as webserver frontend for Tomcat


What Tomcat is

In short Tomcat is a server that executes Java Servlets and JSP web pages.

Tomcat consist of 3 main components :

  • Catalina : module that executes Java code servlets.
  • Jasper : module that parses JSP files and compile them into Java code servlets, thereby making it possible for Catalina to execute them.
  • Coyote : module that listens for http traffic default on port 8080, forwards requests to Tomcat for processing and sends back the result to the requesting client.
  • In addition several connectors for integration with other webservers (as alternatives to Coyote) have been created. Specifically in this tutorial we will use the IIS connector to use IIS as a web frontend for Tomcat instead of using Coyote.


Install Tomcat

  1. Install Java Development Kit (JDK) :
    While Tomcat is used to execute Java Servlets and JSP web pages, Tomcat is itself build as a Servlet and therefore needs to run on top of the Java Runtime Environment. However here we install the full Java Development Kit (which also contains the Java Runtime Environment).
    1. Download Java SE (JDK comes in different grades, eg. ME, SE & EE, read more here)
    2. Double click on the installer and go through the installation process (select all options).
  2. Download Tomcat 7 : choose binary distributions > Core > 64-bit Windows zip (direct link)
  3. Extract directly to C:\ drive. Your Tomcat root folder should now be C:\apache-tomcat-7.0.39 (or a newer version) - this is called CATALINA_HOME.
  4. Rename C:\apache-tomcat-7.0.39 to C:\tomcat (a more convenient folder for CATALINA_HOME).
  5. Setup 2 environment variables :
    1. Open environment variables
    2. Add a system variable called CATALINA_HOME:
      • Name = CATALINA_HOME
      • Value = c:\tomcat
    3. Add a system variable called JRE_HOME
      • Name = JRE_HOME
      • Value = c:\Program Files\Java\jre7
    4. Save and close.
    5. Restart the operating system to be sure the new system variables are fully propagated.
    6. Check the new environment variables are correct :
      1. Open a command prompt.
      2. shell> echo %CATALINA_HOME% : you should get the value c:\tomcat.
      3. shell> echo %JRE_HOME% : you should get the value c:\Program Files\Java\jre7.
  6. Open a command prompt.
  7. shell> cd %CATALINA_HOME%\bin : Navigate to c:\tomcat\bin.
  8. shell> startup : execute the startup.bat file - a new command window is opening starting up the Tomcat server, do not close that command window.
  9. Open a browser and navigate to http://localhost:8080 - you should now see the Tomcat homepage.
  10. Connect to the Tomcat manager :
    1. Open a browser and navigate to http://localhost:8080/manager/html - the page is password protected.
    2. Open c:\tomcat\conf\tomcat-users.xml in an editor and add the following lines at the end of the <tomcat-users> element :
      • <role rolename="manager-gui"/>
      • <role rolename="manager-script"/>
      • <role rolename="manager-jmx"/>
      • <role rolename="manager-status"/>
      • <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
    3. Save the tomcat-users.xml file and close the editor.
    4. Open a command prompt on c:\tomcat\bin (or return to your command prompt if already open)
    5. shell> shutdown : shutdown the Tomcat server if it was running.
    6. shell> startup : startup the Tomcat server - your changes to tomcat-users.xml should now have been applied.
    7. Open a browser and navigate to http://localhost:8080/manager/html and login :
      • Username : tomcat
      • Password : tomcat
    8. You should now see the Tomcat manager page.


Install Tomcat as a windows service

In a production environment, you don't want to manually startup Tomcat and also would like to avoid having the Tomcat command window hanging. These 2 things can be handled by installing Tomcat as a windows service :

  1. Open a command prompt
  2. shell> cd c:\tomcat\bin : change directory to the Tomcat bin folder.
  3. shell> shutdown : be sure the Tomcat server is shutdown (if Tomcat is already shutdown you will get an error, just ignore the error).
  4. shell> service install : install Tomcat as a service.
  5. Press windows+r to start windows run box.
  6. Write services.msc and hit enter to startup windows services manager.
  7. Note that Tomcat 7 is installed as a service but not started.
  8. Right click on the Tomcat 7 entry and select Properties from the shortcut menu.
  9. In the Apache Tomcat 7 Properties dialog box change "Startup type" from "Manual" to "Automatic" and second press the "Start" button. Then finish starting up click the Ok button.
  10. The Tomcat 7 service is started.
  11. Open a browser and navigate to http://localhost:8080 - you should now see the Tomcat homepage again.

Note that in the c:\tomcat\bin folder apart from service.bat, 2 other files are involved :

  • tomcat7.exe : this is used to startup the Tomcat service (so on OS boot, this file will be called to start the Tomcat process).
  • tomcat7w.exe : this is the tomcat executable that runs as a process then the Tomcat service is started by tomcat7.exe.


Use IIS as webserver frontend for Tomcat

Default Tomcat is using the Coyote connector to enable web service so that an http request (typically send by an http browser) can initiate Tomcat to execute a JSP web page and so that the Tomcat execution result can be send back to the initiating http client (typically a browser).

However, here is a step by step guide how to use IIS 7.5 (instead of Coyote) as a frontend for Tomcat 7.

Then IIS is receiving a request for a JSP page or a Servlet, IIS cannot handle such a request on its own, instead we need to configure IIS to forward the request to Tomcat - we will use the JK ISAPI redirector.

  1. Change IIS default website to listen to port 82 :
    1. Open IIS manager and right click on the "Default Web Site" and select "Edit Bindings" from the shortcut menu.
    2. From the "Site Bindings" dialog select the row of type http and click the "Edit" button.
    3. From the "Edit Site binding" dialog change the port to 82 and click the Ok button and also close the "Site Bindings" dialog.
  2. Create a new website listening on port 80 pointing to c:\tomcat\webapps :
    1. Right click on the IIS "Sites" node and select "Add Web Site..." from the shortcut menu..
    2. In the "Add Web Site" dialog :
      • Name the new website Tomcat.
      • Accept the default to create a new pool called Tomcat.
      • Set "Physical path" to c:\tomcat\webapps.
      • Accept the other defaults, especially notice the port is 80.
      Click the Ok button.
  3. Open a browser and navigate to http://localhost/examples/jsp/index.html - you IIS is delivering the static html page.
  4. Navigate your browser to http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp by clicking on the example link "execute" for the first example "Basic Arithmetic" - you will get an error since we have not setup IIS to be able to handle .jsp requests.
  5. Install Tomcat IIS connector :
    1. Download Tomcat IIS connector (select the windows-86_64-iis.zip - direct link).
    2. Extract the file and copy the isapi_redirect.dll to %CATALINA_HOME\bin.
    3. We need to create 3 configuration files :
      • Create a text file called isapi_redirect.properties in %CATALINA_HOME\bin with the following content :
        • extension_uri=/jakarta/isapi_redirect.dll
        • log_file=C:\tomcat\logs\isapi_redirect.log
        • log_level=info
        • worker_file=C:\tomcat\conf\workers.properties
        • worker_mount_file=C:\tomcat\conf\uriworkermap.properties
      • Create a text file called workers.properties in %CATALINA_HOME\conf with the following content :
        • workers.tomcat_home=C:\tomcat\ : your %CATALINA_HOME%.
        • workers.java_home=C:\Program Files\Java\jre7\ : be sure this path is correct.
        • ps=\
        • worker.list=webmodelling : here I list 1 worker and call it webmodelling, you may call it whatever you want.
        • worker.webmodelling.port=8009 : 8009 is the default port for ajp13.
        • worker.webmodelling.host=localhost : Tomcat can be placed on another server on another IP address.
        • worker.webmodelling.type=ajp13 : ajp13 is the protocol to use.
      • Create a text file called uriworkermap.properties in %CATALINA_HOME\conf with the following content :
        • /examples/*=webmodelling : all requests for the examples path should use the webmodelling worker.
    4. Install isapi_redirect as an IIS ISAPI filter :
      1. Open IIS management console.
      2. Select the Tomcat website and double click on the "ISAPI Filters" icon.
      3. In the "ISAPI Filters" screen click on the "Add..." link.
      4. In the "Add ISAPI Filters" dialog give your new filter a name, eg. Tomcat and choose the Tomcat IIS connector, isapi_redirect, as the filter Executable and then click the Ok button.
      5. Back in the "ISAPI Filters" screen, you should now see your new filter, here called Tomcat.
    5. Add the jakarta virtual directory : (matching the extension_uri set in the isapi_redirect.properties file)
      1. In IIS manager right click the Tomcat website node and select "Add Virtual Directory..." from the shortcut menu.
      2. In the "Add Virtual Directory" dialog set :
        • Alias = jakarta
        • Physical path = c:\tomcat\bin
        Click the Ok button to save.
      3. You now have the jakarta virtual directory.
    6. Add the IIS *.jsp handler mapping : (we want IIS to forward .jsp requests to the installed Tomcat ISAPI filter)
      1. In IIS manager select the Tomcat website node and then double click on the "Handler Mappings" icon.
      2. In the "Handler Mappings" screen click on the "Add Script Map..." link.
      3. In the "Add Script Map" dialog set :
        • Request path = *.jsp
        • Executable = c:\tomcat\bin\isapi_redirect
        • Name = JSP : the name is only descriptive, so you can choose anything of you liking.
        Click the Ok button to save - you will be prompted for confirmation that this ISAPI extension is allowed.
      4. In the "Add Script Map" confirmation prompt click the Yes button to allow IIS to forward requests to this ISAPI extension.
      5. You should now see the JSP handler mapping in the "Handler Mappings" screen.
      6. Right click on the JSP handler mapping and select "Edit Feature Permissions..." from the shortcut menu.
      7. Be sure you give the JSP handler mapping execute permission and click the Ok button.
    7. Open a browser and navigate it to http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp - Congratulations !


Bonus : Hello World examples

First things first : we need to setup the hello world environment : (you need this environment setup anyway)

  1. Create the folder structure :
    1. Create a new folder : c:\tomcat\webapps\myapp\ - this is root folder of the Java hello world examples.
    2. Create a new folder C:\tomcat\webapps\myapp\src\. - to keep our java source files.
    3. Create a new folder C:\tomcat\webapps\myapp\WEB-INF\ - to keep the website descriptor file, web.xml, in which to register the servlet hello world.
    4. Create a new folder C:\tomcat\webapps\myapp\WEB-INF\classes\ - to keep our compiled java classes.
    5. Create a new folder C:\tomcat\webapps\myapp\WEB-INF\classes\MyBeans\ - to keep our javabean compiled class.
  2. Specify the worker to use for myapp :
    1. Open c:\tomcat\conf\uriworkermap.properties and add the following line :
      • /myapp/*=webmodelling : here webmodelling is the name of a worker defined in your workers.properties file.
      Save the uriworkermap.properties file.
    2. Restart the Tomcat service.
    3. Restart IIS.
  3. Setup the classpath as a system environment variable :
    1. Open environment variables
    2. Add a system variable called CLASSPATH :
      • Name = CLASSPATH
      • Value = .;c:\tomcat\lib\* : the first dot represents current directory, so we instruct JRE to search for user classes in current directory and all jar files in c:\tomcat\lib\.
    3. Restart the operating system to be sure the new system variable is fully propagated.
    4. Check the new system variable is correct :
      1. Open a command prompt.
      2. shell> echo %CLASSPATH% : you should get the value .;c:\tomcat\lib\*.

Ok, we should be ready to go :


JSP Hello World

 (Be sure you have setup the 3 step Hello World examples environment above)

To get a simple .jsp file to execute is the basis of all JSP programming - it is VERY simple (then the JSP environment is correct setup)

  1. Create a new text file, helloworld.jsp :
    <html>
    <head></head>
    <body>
    	<% out.println("JSP Hello World"); %>
    </body>
    </html>
    
  2. Save helloworld.jsp to c:\tomcat\webapps\myapp\.
  3. Open a browser and navigate to http://localhost/myapp/helloworld.jsp.


JavaBean Hello World

 (Be sure you have setup the 3 step Hello World examples environment above)

A JavaBean is just a class like any other except it have to adhere to the 3 following rules :

  • All public properties MUST have getters/setters (no public fields).
  • The class MUST have one no-argument constructor.
  • The class MUST implement the Java.io.Serialize interface.

Here we will use 3 JSP Action Elements to make use of the created JavaBean within a .jsp page : (more about JSP Action Elements here)

  • <jsp:useBean> with the following attributes :
    • id : identifies the instantiated bean in the specified scope.
    • scope : page, request, session or application.
    • class : the class to instantiate (class name must be fully qualified).
  • <jsp:setAttribute> with the following attributes :
    • name :
    • property : name of the property to set - this name is the private name of the property.
    • value : the seed value to pass to the property setter.
  • <jsp:getAttribute> with the following attributes :
    • name
    • property
  1. Create the JavaBeen :
    1. Create a new text file, MyBean.java :
      package MyBeans;
      
      public class MyBean
      {
      	private String message = null;
      
      	public String getMessage() {
      		return message;
      	}
      
      	public void setMessage(String message) {
      		this.message = message;
      	}
      } 
      
    2. Save MyBean.java to the folder C:\tomcat\webapps\myapp\src\.
    3. Open a command prompt and navigate to C:\tomcat\webapps\myapp\src\.
    4. shell> javac MyBean.java : compile MyBean.java to JVM byte code in MyBean.class.
    5. You should now have a file MyBean.class.
    6. Move MyBean.class to the folder C:\tomcat\webapps\myapp\WEB-INF\classes\MyBeans\.
  2. Create the JSP page to load the JavaBean :
    1. Create a text file, helloworld-javabean.jsp :
      <html>
      <head>
      </head>
      <body>
      	<jsp:useBean id="mybean" class="MyBeans.MyBean" scope="page" >
      		<jsp:setProperty name="mybean" property="message" value="JavaBean Hello world" />
      	</jsp:useBean>
      
      	<jsp:getProperty name="mybean" property="message" /></h1>
      </body>
      </html>
      
    2. Save helloworld-javabean.jsp to C:\tomcat\webapps\myapp\.
  3. Open a browser and navigate to http://localhost/myapp/helloworld-javabean.jsp - Congratulations !


Servlet Hello World

 (Be sure you have setup the 3 step Hello World examples environment above)

Servlets are used to manage request in general but is mainly used to manage http requests in particular. Here I will extend the HttpServlet to make the simplest of an http request manager doing nothing useful but showing the technical minimum of how to create an http servlet.

  1. Create a new text file, MyServlet.java :
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class MyServlet extends HttpServlet {
    	private String message;
    
    	public void init() throws ServletException
    	{
    		message = "Servlet Hello World";
    	}
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		response.setContentType("text/html");
    		PrintWriter writer = response.getWriter();
    		writer.println(message);
    	}
    
    	public void destroy(){}
    }
    
  2. Save MyServlet.java to the c:\tomcat\webapps\myapp\src\ folder.
  3. Compile MyServlet.java :
    1. Open a command prompt and navigate to the c:\tomcat\webapps\myapp\src\ folder.
    2. shell> javac MyServlet.java : compile MyServlet.java to MyServlet.class (JVM byte code)
      In case your classpath is not properly set, you will get an error that javax.servlet does not exist, in that case you can pass a classpath to the javac compiler :
      shell> javac -cp .;c:\tomcat\lib\servlet-api.jar MyServlet.java : here the library containing the javax.servlet classes is servlet-api.jar.
    3. You should now have a MyServlet.class file in C:\tomcat\webapps\myapp\.
    4. Move MyServlet.class to the c:\tomcat\webapps\myapp\WEB-INF\classes\ folder
      .class files must be placed under the /WEB-INF/classes/ folder. Unqualified classes are placed directly in the classes/ folder, however qualified classes MUST be placed in a sub directory hierarchy matching the class qualification : eg. say I in the MyServlet.class had qualified the classname like MyUtilities.Servlets.MyServlet, then the MyServlet.class file had to be placed in c:\tomcat\webapps\myapp\WEB-INF\classes\MyUtilities\Servlets\.
  4. Deploy MyServlet :
    1. Create a new text file, web.xml :
      If there is already a web.xml file in c:\tomcat\webapps\myapp\WEB-INF\, then just add the <servlet> & <servlet-mapping> tags somewhere under the <web-app> tag.
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true">
      	<servlet>
      		<servlet-name>MyServlet</servlet-name>
      		<servlet-class>MyServlet</servlet-class>
      	</servlet>
      
      	<servlet-mapping>
      		<servlet-name>MyServlet</servlet-name>
      		<url-pattern>/HelloWorld-Servlet</url-pattern>
      	</servlet-mapping>
      </web-app>
      
    2. Save web.xml to c:\tomcat\webapps\myapp\WEB-INF\.
  5. And it works !


JSP SqlServer Hello World

 (Be sure you have setup the 3 step Hello World examples environment above)

Step by step how to connect to Sql Server 2008 using JSP.

For this example I assume you already have Sql Server installed. Particularly I will connect JSP to the AdventureWorks2008R2 Sql Server sample database. You can easily just use one of your own databases or you can download relevant AdventureWorks version (direct download of AdventureWorks2008r2) and attach the AdventureWorks2008r2 database to your Sql Server.

  • JDBC : Java DataBase Connectivity.
  • sqljdbc4.jar : contains the "META-INF/services/java.sql.DRIVER" file, which contains the com.microsoft.sqlserver.jdbc.SQLServerDriver. (requires JRE6 or later).

Ok, let's get going

  1. Download sqljdbc4 choose the .exe file or (direct download of sqljdbc_4.0.2206.100_enu.exe)
  2. Double click the downloaded sqljdbc4...enu.exe file to extract it.
  3. In the extracted folder structure find the sqljdbc4.jar file and copy it to c:\tomcat\lib (so it is available through the classpath).
  4. Create a new text file, helloworld-sqlserver.jsp : (download helloworld-sqlserver.jsp)
    Note 1 : see Bulding Sql Server connection url for more ways to build the connectionUrl.
    Note 2 : below I am using Sql Server authentication and a dbo user on AdventureWorks2008R2 database : username=AdventureWorks & password=AdventureWorks.
    Note 3 : Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); is used below to register the SQLServerDriver, however this is not necessary if using sqljdbc4.
    <html>
    <head></head>
    <body>
    	<%@ page import="java.sql.*" %>
    	<% 
    		String connectionUrl = "jdbc:sqlserver://localhost:1433;databasename=AdventureWorks2008R2;user=AdventureWorks;password=AdventureWorks";
    		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		Connection con = DriverManager.getConnection(connectionUrl);
    		Statement statement = con.createStatement() ; 
    		ResultSet resultset = statement.executeQuery("select Name, GroupName from HumanResources.Department");
    	%>
    	<table>
    		<tr><th>Name</th><th>GroupName</th></tr>
    		<% while (resultset.next()){ %>
    			<tr>
    				<td><%= resultset.getString("Name") %></td>
    				<td><%= resultset.getString("GroupName") %></td>
    			</tr>
    		<% } %>
    	</table>
    </body>
    </html>
    
  5. Save helloworld-sqlserver.jsp in c:\tomcat\webapps\myapp\.
  6. Open a browser and navigate to http://localhost/myapp/helloworld-sqlserver.jsp - Congratulations ! you should now see some database content.


Appendix : Acronyms & Concepts

  • JVM : Java Virtual Machine.
  • JRE : Java Runtime Environment.
  • JDK : Java Development Kit.
  • J2EE :
  • JSP : Java Server Pages.
  • JavaBeans : Components of reusable functionality. Any java class following 3 rules below is a bean :
    • properties must use getters/setters (no public fields).
    • a no-argument constructur
    • implement Serializable interface (java.io.Serializable)
  • Servlet : An object those purpose is to manage a request (typically an http request) and then generate a response to that request (more).
  • JSF : Java Server Faces : component based MVC framework using FaceServlets, I am unsure if JSF is only the user interfaces part.
  • JDBC : Java DataBase Connectivity.
  • Struts :
  • Swing :
  • EJB : Enterprise Java Beans.
  • .java : text files with java code that needs to be compiled.
  • .class : JVM byte code file compiled from .java files (using javac compiler).
  • JAR : the packaged deployable form of libraries.
  • WAR : Web ARchive - the packaged deployable form of a web applications (can contain Beans, Servlets, XML, HTML, CSS & HTML files).
  • Standard layout : folder & file structure required by a WAR file :
    • MyWebApp/ : root folder (shell> jar cf MyWebApp.war . : create the war file from within the MyWebApp folder)
      • META-INF/ : created by the compiler (eg. the JAR command)
        • MANIFEST.MF
        • services
      • WEB-INF/
        • web.xml : required for registering servlets (and what urls different servlets manages)
        • classes/
          • servletA.class
          • classB.class
        • tags/
      • lib/
        • fileA.jar
        • fileB.jar
      • index.html
      • index.jsp
      • other.jsp
      • customFolder/ : can contain images, css, jsp, html etc.
  • classpath : system environment variable telling JRE where to look for user classes (not eg. JDK classes).
  • Context Path :
  • Document root : the top folder of a web application.
  • catalina home : a system environment variable %CATALINA_HOME% that points to the tomcat installation folder, eg. C:\tomcat.
  • worker : a Tomcat process that accepts work from IIS.


Appendix : Common errors and solutions

  1. HTTP Error 404.17 - Not Found The requested content appears to be script and will not be served by the static file handler : happens then requesting a .jsp file from your browser.

Reason : You have a specific mapping for .jsp, however that mapping is not compatible with either pipeline mode (integrated/classic) or bitness (32/64 bit).

Solution : If you have followed the above tutorial then pipeline mode need to be Integrated and bitness is 64 (set "Enable 32-bit Applications" to false for the pool).

  1. HTTP Error 500.0 - Internal Server Error The page cannot be displayed because an internal server error has occurred.

Reason : There can be many reasons for this error, however a likely reason then trying to use IIS as a webserver frontend for Tomcat is that the Tomcat IIS connector have not been installed on IIS as an ISAPI filter.

Solution : Go through Use IIS as webserver frontend for Tomcat.


Comments

You can comment without logging in
 
 B  U  I  S 
Words: Chars: Chars left: 
 Captcha 
 Nickname
Facebook
    
DonChino
--------------
      report  reply  
I followed your instructions, but it seems that when I am done and I click on any JSP file that the browser actually tries to DOWNLOAD the JSP. I am not getting any errors so there seems to be something NOT listed in your instructions because it is not executing JSP but rather trying to download JSP.
Rasmus
User type : Admin
Register : 2012-Dec-21
Topics : 0
Replies : 108
--------------
      report  reply  

Hi DonChino

If your browser tries to download the jsp file, then it is because IIS does not know what to do with the jsp file request and therefore treats the jsp file as a static resource.

There can be several reasons your IIS is not knowing what to do with a jsp file, eg. :

  1. Your Jakarta virtual folder does not work (eg. you don't have any or it does not map correctly)
  2. You have not properly installed the ISAPI filter
  3. You have not properly added the .jsp handler mapping

web fiddler by nature

DonChino
--------------
      report  reply  
Ok, I found your ERROR so I hope this helps other people who find their way here.

1) Use this site instead: http://www.iisadmin.co.uk/?p=72

2) In section 6. - 3. of making IIS the front end, he incorrectly put *.jsp for the mapping when it should be *.dll

This was driving me nuts and I was either getting a prompt to download the file or a bunch of binary code, so this other site helped me fix the problem. Please update your page... Thanks...

Rasmus
User type : Admin
Register : 2012-Dec-21
Topics : 0
Replies : 108
--------------
      report  reply  

Hi DonChino

Good to hear you solved your problem, however what you claim to be an error gives no meaning : what we want to do in the IIS frontend 5.6.3 is to tell IIS to forward jsp requests to the Tomcat IIS connector here as an ISAPI handler (already installed under IIS frontend 5.4). This means that we want to map *.jsp not *.dll - it simply give no meaning to forward .dll requests to the Tomcat IIS connector and how would it ever tell IIS anything about .jsp requests.

web fiddler by nature

JohnW
--------------
      report  reply  
On the connector side there are a few more options. For example, I use the BonCode connector quite a bit. It is much easier to install and configure, e.g. no virtual directories. It also does not block requests to static content that IIS serves directly. You can download from http://tomcatiis.riaforge.org
John
--------------
      report  reply  
hello.
Thanks for the tutorial, very good.
However I have a problem when I try to configure isapi_redirect.dll, when I make settings to display the page
http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp
The following error is generated:

HTTP Error 500.0 - Internal Server Error
Error calling GetFilterVersion in the ISAPI filter "C: \ tomcat \ bin \ isapi_redirect.dll"

What will be the problem? I appreciate your cooperation.
Rasmus
User type : Admin
Register : 2012-Dec-21
Topics : 0
Replies : 108
--------------
      report  reply  
Hi John
I have not encounted that error myself, but one guess would be that you have tried to install a 64bit connector in an environment that only support 32bit. If you have installed the 64bit version (the tutorial installs the 64bit version), then try to download and install the 32bit version and be sure to configure the relevant application pool to allow 32bit.
If you solve the problem, please post the solution here for the benefit of others.

web fiddler by nature

Anonymous
--------------
      report  reply  

I was able to get this running with no issues, your write up was great

How would I use windows auth and still allow .jsp to execute

I want to have users need windows accounts to use this 

Rasmus
User type : Admin
Register : 2012-Dec-21
Topics : 0
Replies : 108
--------------
      report  reply  
Hi Anonymous

I think it is 12 years since I last worked with IIS integrated security, however if you can get it to work with another IIS hosted ASPX or PHP website I don't see why the security logic is not identical to an IIS hosted JSP website.

web fiddler by nature

gf
--------------
      report  reply  
Hi,
thanks I have read your tutorial to install connector from IIS to Tomcat and it seems to be very detailed. Before starting the installation I'd like to know if this tutorial enable the execution of both ASPX.NET e JSP because some part of my site are in aspx and I'd like that all things will work after the connector installation/configuration. Is it possible to map only specific webapp site and forward only request to that site to tomcat?
Furthermore, the guide is for 64bit server and version of IIS and Tomcat, right?
Thanks in advance

Rasmus
User type : Admin
Register : 2012-Dec-21
Topics : 0
Replies : 108
--------------
      report  reply  
Hi gf

I have to admit that I have never tried to run JSP & ASP.NET together, but I would guess that it would not be any problem.

It is definitely possible to run ASP.NET in one site and JSP in another site hosted by the same IIS.

Yes, the guide is for 64bit Windows 2008 and 64bit Tomcat.

web fiddler by nature

gf
--------------
      report  reply  
Hi Rasmus,

I followed your instructions to install the connector. The only difference is that I set tomcat not on the iis default web site but on the new one built just to try the connection. After the installation I obtain the following error when I try to browse on manager/index.jsp

Service Temporary Unavailable!

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Jakarta/ISAPI/isapi_redirector/1.2.39

Obviusly I added this line on uriworkermap.properties /manager/*=webmodelling.

Any ideas?
do you think that if I set tomcat as default web site on iis my aspx web site will work?

Thanks in advance,
gf

Kumar
--------------
      report  reply  
Hi Rasmus
I try to install as per your instructions
I got success too, but 
Can you please guide how to point www.website.com to the tomcat folder
Gurdeep
--------------
      report  reply  
Hi 

I have configured the steps in here but when I browse to the jsp sample pages via the IIS Tomcat site, I just get a blank page?

I am on Server 2008 R2, IIS 7.5 and Tomcat 7. Any ideas why this may be?
Luiz Sérgio
--------------
      report  reply  
Thank you very much for your time and effort on writing this tutorial!


click to top