Now the next step in this tutorial passes the values of variables in the java 
web form to a jsp file instead of embedding them in println commands.  Here is 
the code that the tutorial (https://www.youtube.com/watch?v=eP9oz6ZKUXM at 
Creat JavaServer Page (JSP), about 23 minutes into it) gives:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
      processRequest(request, response);
      float miles = Float.parseFloat(request.getParameter("miles"));
      float kilometers = miles * 1.61f;
      request.setAttribute("miles", miles);
      request.setAttribute("kilometers", kilometers);
      String resultPage = "result.jsp";
      
      RequestDispatcher dispatcher = request.getRequestDispatcher(resultPage);
      dispacther.forward(request, response);
   }

I get a compile error that complains about that RequestDispatcher is an 
undefined symbol.  After much hunting on websites for answers, I revised the 
code as in the project in the git: 
https://github.com/the-sanskrit-library/public.git, namely:

   protected void doPost(HttpServletRequest request, HttpServletResponse 
response)
           throws ServletException, IOException {
      float miles = Float.parseFloat(request.getParameter("miles"));
      float kilometers = miles * 1.61f;
      request.setAttribute("miles", miles);
      request.setAttribute("kilometers", kilometers);
      String resultPage = "result.jsp";
      request.getRequestDispatcher(resultPage).forward(request, response);
   }
 
Which compiles.  However, the response I get give the string rather than their 
values:

Unit Conversion Result

$(miles) miles = $(kilometers) kilometers

Any suggestions?
Yours,
Peter

******************************
Peter M. Scharf, President
The Sanskrit Library
sch...@sanskritlibrary.org
https://sanskritlibrary.org
******************************

> On Jan 20, 2023, at 12:31 PM, Carl Mosca <carljmo...@gmail.com> wrote:
> 
> You're welcome Peter and glad to hear it.  You can remove/replace the root 
> app if/as needed.
> 
> Regards,
> Carl
> 
> On Fri, Jan 20, 2023 at 1:28 PM Peter Scharf <sch...@sanskritlibrary.org 
> <mailto:sch...@sanskritlibrary.org>> wrote:
>> Dear Carl,
>>      Thanks for your help.  I installed Tomcat version 9.  Now the project 
>> runs correctly.
>>      Changing the context path to “/” however, interfered with the “It 
>> works” root app of Tomcat, so I changed it back.  I get the correct result 
>> of the conversion servlet at the path 
>> http://localhost:8080/mavenproject3/convert.
>>      Yours,
>>      Peter
>> 
>> ******************************
>> Peter M. Scharf, President
>> The Sanskrit Library
>> sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>
>> https://sanskritlibrary.org <https://sanskritlibrary.org/>
>> ******************************
>> 
>>> On Jan 18, 2023, at 8:16 PM, Carl Mosca <carljmo...@gmail.com 
>>> <mailto:carljmo...@gmail.com>> wrote:
>>> 
>>> Hi Peter,
>>> 
>>> First off it looks like the example notes suggest using Tomcat 9 or earlier 
>>> so I used 9.0.71.
>>> 
>>> I changed the context path (in the context.xml file): <Context path="/"/>.
>>> 
>>> It's worth looking at creating a .gitignore file so that class and other 
>>> binaries are not in git as they are not needed.
>>> 
>>> Regards,
>>> Carl
>>> 
>>> On Wed, Jan 18, 2023 at 6:16 PM Peter Scharf <sch...@sanskritlibrary.org 
>>> <mailto:sch...@sanskritlibrary.org>> wrote:
>>>> The catalina log has lots of info entries.  Here’s one WARNING:
>>>> 
>>>> 18-Jan-2023 12:10:12.964 WARNING [main] 
>>>> org.apache.catalina.startup.HostConfig.deployDescriptor The path attribute 
>>>> with value [/mavenproject3] in deployment descriptor 
>>>> [/usr/local/apache-tomcat-10.0.23/conf/Catalina/localhost/mavenproject3.xml]
>>>>  has been ignored
>>>> 
>>>> The catalina.out file has the same suspicious entry:
>>>> 
>>>> 18-Jan-2023 12:10:12.964 WARNING [main] 
>>>> org.apache.catalina.startup.HostConfig.deployDescriptor The path attribute 
>>>> with value [/mavenproject3] in deployment descriptor 
>>>> [/usr/local/apache-tomcat-10.0.23/conf/Catalina/localhost/mavenproject3.xml]
>>>>  has been ignored
>>>> 
>>>> The localhost_access_log.2023-01-18.txt file has:
>>>> 
>>>> 0:0:0:0:0:0:0:1 - - [18/Jan/2023:12:10:18 -0600] "GET /convert HTTP/1.1" 
>>>> 404 759
>>>> 0:0:0:0:0:0:0:1 - - [18/Jan/2023:12:10:18 -0600] "GET /favicon.ico 
>>>> HTTP/1.1" 200 21630
>>>> 0:0:0:0:0:0:0:1 - - [18/Jan/2023:16:50:07 -0600] "GET /mavenproject3/ 
>>>> HTTP/1.1" 200 453
>>>> 0:0:0:0:0:0:0:1 - - [18/Jan/2023:16:50:14 -0600] "POST 
>>>> /mavenproject3/convert HTTP/1.1" 404 777
>>>> 0:0:0:0:0:0:0:1 - - [18/Jan/2023:16:51:11 -0600] "POST 
>>>> /mavenproject3/convert HTTP/1.1" 404 777
>>>> 
>>>> Regarding Java EE versus Jakarta EE, a quick search shows that none of my 
>>>> project files contain ‘jakarta’ while the following all contain ‘java’
>>>> 
>>>> UnitConverterServlet.class
>>>> UnitConverterServlet.class
>>>> UnitConverterServlet.java
>>>> inputFiles.lst
>>>> javaee-endorsed-api-7.0.jar
>>>> pom.xml
>>>> 
>>>> 
>>>> 
>>>> ******************************
>>>> Peter M. Scharf, President
>>>> The Sanskrit Library
>>>> sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>
>>>> https://sanskritlibrary.org <https://sanskritlibrary.org/>
>>>> ******************************
>>>> 
>>>>> On Jan 18, 2023, at 12:19 PM, Eric Bresie <ebre...@gmail.com 
>>>>> <mailto:ebre...@gmail.com>> wrote:
>>>>> 
>>>>> Does anything show up in tomcat log?
>>>>> 
>>>>> I seem to recall there is some migration going on to move namespace from 
>>>>> Java EE to jakarta EE name space.  Not sure if maybe that is coming into 
>>>>> play here.  This might help if it is impacted
>>>>> 
>>>>> https://github.com/apache/tomcat-jakartaee-migration
>>>>> 
>>>>> 
>>>>> 
>>>>> On Wed, Jan 18, 2023 at 12:11 PM Peter Scharf <sch...@sanskritlibrary.org 
>>>>> <mailto:sch...@sanskritlibrary.org>> wrote:
>>>>>> Thanks, Eric.  I had tried that.  I get the message:
>>>>>> 
>>>>>> HTTP Status 404 – Not Found
>>>>>> 
>>>>>> Type Status Report
>>>>>> 
>>>>>> Message The requested resource [/convert] is not available
>>>>>> 
>>>>>> Description The origin server did not find a current representation for 
>>>>>> the target resource or is not willing to disclose that one exists.
>>>>>> 
>>>>>> Apache Tomcat/10.0.23
>>>>>> 
>>>>>> 
>>>>>> ******************************
>>>>>> Peter M. Scharf, President
>>>>>> The Sanskrit Library
>>>>>> sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>
>>>>>> https://sanskritlibrary.org <https://sanskritlibrary.org/>
>>>>>> ******************************
>>>>>> 
>>>>>>> On Jan 18, 2023, at 12:06 PM, Eric Bresie <ebre...@gmail.com 
>>>>>>> <mailto:ebre...@gmail.com>> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> Servlet says the urlpattern is “/convert”
>>>>>>> 
>>>>>>> Try 
>>>>>>> http://localhost:8080/convert
>>>>>>> 
>>>>>>> 
>>>>>>> On Wed, Jan 18, 2023 at 11:51 AM Peter Scharf 
>>>>>>> <sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>> wrote:
>>>>>>>> Yes, the URL is correct: 
>>>>>>>> https://github.com/the-sanskrit-library/public.git
>>>>>>>> The git directory hierarchy deceived me: I had the code outside the 
>>>>>>>> git directory.  I have now moved it into the git directory.
>>>>>>>> Forgive me; I’m not very familiar with git and am using the desktop 
>>>>>>>> version.
>>>>>>>> Yours,
>>>>>>>> Peter
>>>>>>>> 
>>>>>>>> ******************************
>>>>>>>> Peter M. Scharf, President
>>>>>>>> The Sanskrit Library
>>>>>>>> sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>
>>>>>>>> https://sanskritlibrary.org <https://sanskritlibrary.org/>
>>>>>>>> ******************************
>>>>>>>> 
>>>>>>>>> On Jan 18, 2023, at 5:35 AM, Carl Mosca <carljmo...@gmail.com 
>>>>>>>>> <mailto:carljmo...@gmail.com>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Peter,
>>>>>>>>> 
>>>>>>>>> Can you confirm that url please.  I am not seeing Java code there; 
>>>>>>>>> only a README and attribute file.
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Carl
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Tue, Jan 17, 2023 at 10:40 PM Peter Scharf 
>>>>>>>>> <sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>> 
>>>>>>>>> wrote:
>>>>>>>>>> Thank you for suggesting to put the project on Github.  I have now 
>>>>>>>>>> created a public repository at the following url:
>>>>>>>>>> 
>>>>>>>>>> https://github.com/the-sanskrit-library/public.git
>>>>>>>>>> 
>>>>>>>>>> The project is in the NetBeans directory.
>>>>>>>>>> Yours,
>>>>>>>>>> Peter
>>>>>>>>>> 
>>>>>>>>>> ******************************
>>>>>>>>>> Peter M. Scharf, President
>>>>>>>>>> The Sanskrit Library
>>>>>>>>>> sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>
>>>>>>>>>> https://sanskritlibrary.org <https://sanskritlibrary.org/>
>>>>>>>>>> ******************************
>>>>>>>>>> 
>>>>>>>>>>> On Jan 17, 2023, at 2:38 PM, Carl Mosca <carljmo...@gmail.com 
>>>>>>>>>>> <mailto:carljmo...@gmail.com>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hello Peter,
>>>>>>>>>>> 
>>>>>>>>>>> Is the project that you created somewhere (such as Github) such 
>>>>>>>>>>> that folks could take a look at it?
>>>>>>>>>>> 
>>>>>>>>>>> Regards,
>>>>>>>>>>> Carl
>>>>>>>>>>> 
>>>>>>>>>>> On Mon, Jan 16, 2023 at 11:21 PM Peter Scharf 
>>>>>>>>>>> <sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>> 
>>>>>>>>>>> wrote:
>>>>>>>>>>>> I just installed NetBeans 16 on a MacBook Pro with an M chip:
>>>>>>>>>>>> 
>>>>>>>>>>>> Product Version: Apache NetBeans IDE 16
>>>>>>>>>>>> Java: 19.0.1; OpenJDK 64-Bit Server VM 19.0.1
>>>>>>>>>>>> Runtime: OpenJDK Runtime Environment 19.0.1
>>>>>>>>>>>> System: Mac OS X version 13.0.1 running on aarch64; UTF-8; en_US 
>>>>>>>>>>>> (nb)
>>>>>>>>>>>> 
>>>>>>>>>>>> I am trying to create a minimal servlet and war file to use with 
>>>>>>>>>>>> Tomcat
>>>>>>>>>>>> 
>>>>>>>>>>>> apache-tomcat-10.0.23
>>>>>>>>>>>> 
>>>>>>>>>>>> I worked through half of the demo How to create a webapp tutorial 
>>>>>>>>>>>> at: https://www.youtube.com/watch?v=eP9oz6ZKUXM
>>>>>>>>>>>> which, however, uses NetBeans 12 and other older software than I 
>>>>>>>>>>>> have installed.
>>>>>>>>>>>> I was able to do the first item successfully with minor 
>>>>>>>>>>>> adaptations:
>>>>>>>>>>>> 1. Create a Jave Web project with Maven
>>>>>>>>>>>> Got build error:
>>>>>>>>>>>> https://stackoverflow.com/questions/66920567/error-injecting-org-apache-maven-plugin-war-warmojo
>>>>>>>>>>>> Went to: https://maven.apache.org/plugins/
>>>>>>>>>>>> Answer: manually configuring one of the recent war plug-ins in 
>>>>>>>>>>>> POM.xml
>>>>>>>>>>>> Changed 2.3 to 3.3.2
>>>>>>>>>>>> Then got the form.
>>>>>>>>>>>> I successfully created the Unit Conversion form which opens in 
>>>>>>>>>>>> Safari (Version 16.1) in tomcat: 
>>>>>>>>>>>> http://localhost:8080/mavenproject3/
>>>>>>>>>>>> 
>>>>>>>>>>>> But trying the second—third items:
>>>>>>>>>>>> 2. Create Java Servlet & JavaServer Page (JSP)
>>>>>>>>>>>> 3. Run Java Web App on Tomcat inside NetBeans
>>>>>>>>>>>> 
>>>>>>>>>>>> I got stuck.
>>>>>>>>>>>> When I fill in a value in the miles box and click Convert to 
>>>>>>>>>>>> kilometers, Safari gives me a
>>>>>>>>>>>> HTTP Status 404 – Not Found
>>>>>>>>>>>> Message The requested resource [/mavenproject3/convert] is not 
>>>>>>>>>>>> available
>>>>>>>>>>>> Description The origin server did not find a current 
>>>>>>>>>>>> representation for the target resource or is not willing to 
>>>>>>>>>>>> disclose that one exists.
>>>>>>>>>>>> 
>>>>>>>>>>>> After a couple of days trying to fix it, I’m still at a loss.
>>>>>>>>>>>> I did get rid of a problem not finding the native tomcat libraries:
>>>>>>>>>>>> INFO [main] 
>>>>>>>>>>>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The 
>>>>>>>>>>>> Apache Tomcat Native library which allows using OpenSSL was not 
>>>>>>>>>>>> found on the java.library.path: ...
>>>>>>>>>>>> by dowloading and installing The Apache Tomcat Native library
>>>>>>>>>>>> following instructions here: 
>>>>>>>>>>>> https://formulae.brew.sh/formula/tomcat-native
>>>>>>>>>>>> 
>>>>>>>>>>>> However, I still get the 404 not found in Safari.
>>>>>>>>>>>> Can anyone help me?
>>>>>>>>>>>> 
>>>>>>>>>>>> I wonder whether these debugger messages indicate a problem using 
>>>>>>>>>>>> a symbolic link to my real tomcat directory from /Library/Tomcat
>>>>>>>>>>>> 
>>>>>>>>>>>> 16-Jan-2023 11:15:13.009 INFO [main] 
>>>>>>>>>>>> org.apache.catalina.startup.VersionLoggerListener.log Command line 
>>>>>>>>>>>> argument: -Dignore.endorsed.dirs=
>>>>>>>>>>>> 16-Jan-2023 11:15:13.010 INFO [main] 
>>>>>>>>>>>> org.apache.catalina.startup.VersionLoggerListener.log Command line 
>>>>>>>>>>>> argument: -Dcatalina.base=/Library/Tomcat
>>>>>>>>>>>> 16-Jan-2023 11:15:13.010 INFO [main] 
>>>>>>>>>>>> org.apache.catalina.startup.VersionLoggerListener.log Command line 
>>>>>>>>>>>> argument: -Dcatalina.home=/Library/Tomcat
>>>>>>>>>>>> 
>>>>>>>>>>>> but the infos in the debugger do tell me that it is using the real 
>>>>>>>>>>>> directories:
>>>>>>>>>>>> CATALINA_BASE:         /usr/local/apache-tomcat-10.0.23
>>>>>>>>>>>> CATALINA_HOME:         /usr/local/apache-tomcat-10.0.23
>>>>>>>>>>>> 
>>>>>>>>>>>> I get the following debugger WARNING:
>>>>>>>>>>>> WARNING [http-nio-8080-exec-10] 
>>>>>>>>>>>> org.apache.catalina.startup.HostConfig.deployDescriptor The path 
>>>>>>>>>>>> attribute with value [/mavenproject3] in deployment descriptor 
>>>>>>>>>>>> [/usr/local/apache-tomcat-10.0.23/conf/Catalina/localhost/mavenproject3.xml]
>>>>>>>>>>>>  has been ignored
>>>>>>>>>>>> 
>>>>>>>>>>>> Trying to follow suggestions at: 
>>>>>>>>>>>> https://stackoverflow.com/questions/11731377/servlet-returns-http-status-404-the-requested-resource-servlet-is-not-availa
>>>>>>>>>>>> I’m lost.  I can’t even figure out which versions of Servlet I’m 
>>>>>>>>>>>> using, and the instructions to find out at.: 
>>>>>>>>>>>> https://stackoverflow.com/questions/3913485/how-do-i-know-what-version-of-servlet-api-jar-i-have
>>>>>>>>>>>> 
>>>>>>>>>>>> don’t provide enough context for me to know where to put the 
>>>>>>>>>>>> commands suggested.
>>>>>>>>>>>> 
>>>>>>>>>>>> ===
>>>>>>>>>>>> Can anyone help me either (a) work through this tutorial with 
>>>>>>>>>>>> current versions of software, or (b) give me an example of how to 
>>>>>>>>>>>> create a servlet or portable war file in NetBeans to use with 
>>>>>>>>>>>> Tomcat by copying it to its webapps directory using current 
>>>>>>>>>>>> versions of NetBeans and other software?
>>>>>>>>>>>> 
>>>>>>>>>>>> Thank you in advance.
>>>>>>>>>>>> Yours,
>>>>>>>>>>>> 
>>>>>>>>>>>> ******************************
>>>>>>>>>>>> Peter M. Scharf, President
>>>>>>>>>>>> The Sanskrit Library
>>>>>>>>>>>> sch...@sanskritlibrary.org <mailto:sch...@sanskritlibrary.org>
>>>>>>>>>>>> https://sanskritlibrary.org <https://sanskritlibrary.org/>
>>>>>>>>>>>> ******************************
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> -- 
>>>>>>>>>>> Carl J. Mosca
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> Carl J. Mosca
>>>>>>>> 
>>>>>>> -- 
>>>>>>> Eric Bresie
>>>>>>> ebre...@gmail.com <mailto:ebre...@gmail.com>
>>>>>> 
>>>>> -- 
>>>>> Eric Bresie
>>>>> ebre...@gmail.com <mailto:ebre...@gmail.com>
>>>> 
>>> 
>>> 
>>> -- 
>>> Carl J. Mosca
>> 
> 
> 
> -- 
> Carl J. Mosca

Reply via email to