RajeshPD
asked on
Where do I Place my Servlets, JSP and Bean in the Tomcat Server?
I have 3 Files, One JSP which uses a bean and the bean is in classes/com/ch/UserInfobea n.class.
I have a Servlet and in the JSP where should I put the Servlet Class File and How should I map it to the JSP in the action tag of the Form.
I have placed in all places and it says " Cannot find the Servlet"?
Please Help.
I have a Servlet and in the JSP where should I put the Servlet Class File and How should I map it to the JSP in the action tag of the Form.
I have placed in all places and it says " Cannot find the Servlet"?
Please Help.
you should put your servlet under:
youwebapp/WEB-INF/classes/ your/servl et/packege /YourSevle t.class
youwebapp/WEB-INF/classes/
ASKER
Hi Fargo
I did the same thing as u told me and in action only the FormServlet. But it gave an error like this:
type Status report
message /examples/jsp/FormServlet
description The requested resource (/examples/jsp/FormServlet ) is not available.
Pls advice.
in Web.xml
<servlet>
<servlet-name>FormServlet< /servlet-n ame>
<servlet-class>com.ch.Form Servlet</s ervlet-cla ss>
</servlet>
<servlet-mapping>
<servlet-name>FormServlet< /servlet-n ame>
<url-pattern>/FormServlet< /url-patte rn>
</servlet-mapping>
I did the same thing as u told me and in action only the FormServlet. But it gave an error like this:
type Status report
message /examples/jsp/FormServlet
description The requested resource (/examples/jsp/FormServlet
Pls advice.
in Web.xml
<servlet>
<servlet-name>FormServlet<
<servlet-class>com.ch.Form
</servlet>
<servlet-mapping>
<servlet-name>FormServlet<
<url-pattern>/FormServlet<
</servlet-mapping>
according to your defination in web.xml, you should be accessing your servlet as /examples/FormServlet.
if you wish to access it via /examples/jsp/FormServlet, then use /jsp/FormServlet as url-pattern in web.xml
HTH
if you wish to access it via /examples/jsp/FormServlet,
HTH
ASKER
Still giving me the same Error.
description The requested resource (/examples/jsp/FormServlet ) is not available.
Sometimes, my localhost:8080 does not show the default page and does not start. I need to re start the server every time. Any advice?
When I place the above in the XML , I get an exception in the Command prompt.
description The requested resource (/examples/jsp/FormServlet
Sometimes, my localhost:8080 does not show the default page and does not start. I need to re start the server every time. Any advice?
When I place the above in the XML , I get an exception in the Command prompt.
ASKER
Can u suggest me any site where they show me how to do all these properly?
ASKER
Can U gimme an example which uses Form Fields , JSP, Servlets and Beans?
>>When I place the above in the XML , I get an exception in the Command prompt.
can you post your web.xml
probably you should get a servlet/jsp book to study.
can you post your web.xml
probably you should get a servlet/jsp book to study.
Hi!
Don't forget to restart Tomcat as soon as you change anything concerning servlets: recompiling, replacing, modifying web.xml.
I hope it helps...
Regards!
Don't forget to restart Tomcat as soon as you change anything concerning servlets: recompiling, replacing, modifying web.xml.
I hope it helps...
Regards!
ASKER
Hi
Error:
description The requested resource (/examples/FormServlet) is not available.
I am attaching all the Files for your Ref:(Not the Bean)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Tomcat Examples</display-name>
<description>
Tomcat Example servlets and JSP pages.
</description>
<!-- Define servlet-mapped and path-mapped example filters -->
<filter>
<filter-name>Servlet Mapped Filter</filter-name>
<filter-class>filters.Exam pleFilter< /filter-cl ass>
<init-param>
<param-name>attribute</par am-name>
<param-value>filters.Examp leFilter.S ERVLET_MAP PED</param -value>
</init-param>
</filter>
<filter>
<filter-name>Path Mapped Filter</filter-name>
<filter-class>filters.Exam pleFilter< /filter-cl ass>
<init-param>
<param-name>attribute</par am-name>
<param-value>filters.Examp leFilter.P ATH_MAPPED </param-va lue>
</init-param>
</filter>
<filter>
<filter-name>Request Dumper Filter</filter-name>
<filter-class>filters.Requ estDumperF ilter</fil ter-class>
</filter>
<!-- Example filter to set character encoding on each request -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetC haracterEn codingFilt er</filter -class>
<init-param>
<param-name>encoding</para m-name>
<param-value>EUC_JP</param -value>
</init-param>
</filter>
<filter>
<filter-name>Compression Filter</filter-name>
<filter-class>compressionF ilters.Com pressionFi lter</filt er-class>
<init-param>
<param-name>compressionThr eshold</pa ram-name>
<param-value>10</param-val ue>
</init-param>
<init-param>
<param-name>debug</param-n ame>
<param-value>0</param-valu e>
</init-param>
</filter>
<!-- Define filter mappings for the defined filters -->
<filter-mapping>
<filter-name>Servlet Mapped Filter</filter-name>
<servlet-name>invoker</ser vlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>Path Mapped Filter</filter-name>
<url-pattern>/servlet/*</u rl-pattern >
</filter-mapping>
<!-- Example filter mapping to apply the "Set Character Encoding" filter
to *all* requests processed by this web application -->
<!--
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-patte rn>
</filter-mapping>
-->
<!--
<filter-mapping>
<filter-name>Compression Filter</filter-name>
<url-pattern>/CompressionT est</url-p attern>
</filter-mapping>
-->
<!--
<filter-mapping>
<filter-name>Request Dumper Filter</filter-name>
<url-pattern>/*</url-patte rn>
</filter-mapping>
-->
<!-- Define example application events listeners -->
<listener>
<listener-class>listeners. ContextLis tener</lis tener-clas s>
</listener>
<listener>
<listener-class>listeners. SessionLis tener</lis tener-clas s>
</listener>
<!-- Define servlets that are included in the example application -->
<servlet>
<servlet-name>SendMailServ let</servl et-name>
<servlet-class>SendMailSer vlet</serv let-class>
</servlet>
<servlet>
<servlet-name>
snoop
</servlet-name>
<servlet-class>
SnoopServlet
</servlet-class>
<!--
<init-param>
<param-name>foo</param-nam e>
<param-value>bar</param-va lue>
</init-param>
-->
<run-as>
<description>Security role for anonymous access</description>
<role-name>tomcat</role-na me>
</run-as>
</servlet>
<servlet>
<servlet-name>
servletToJsp
</servlet-name>
<servlet-class>
servletToJsp
</servlet-class>
</servlet>
<servlet>
<servlet-name>
FormServlet
</servlet-name>
<servlet-class>
FormServlet
</servlet-class>
</servlet>
<servlet>
<servlet-name>
CompressionFilterTestServl et
</servlet-name>
<servlet-class>
compressionFilters.Compres sionFilter TestServle t
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>invoker</ser vlet-name>
<url-pattern>/servlet/*</u rl-pattern >
</servlet-mapping>
<servlet-mapping>
<servlet-name>
CompressionFilterTestServl et
</servlet-name>
<url-pattern>
/CompressionTest
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SendMailServ let</servl et-name>
<url-pattern>/SendMailServ let</url-p attern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
snoop
</servlet-name>
<url-pattern>
/snoop
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
servletToJsp
</servlet-name>
<url-pattern>
/servletToJsp
</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/debug-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/debug-taglib. tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/examples-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/example-tagli b.tld
</taglib-location>
</taglib>
<resource-ref>
<res-ref-name>mail/Session </res-ref- name>
<res-type>javax.mail.Sessi on</res-ty pe>
<res-auth>Container</res-a uth>
</resource-ref>
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protect ed Area</web-resource-name>
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/jsp/security /protected /*</url-pa ttern>
<!-- If you list http methods, only those methods are protected -->
<http-method>DELETE</http- method>
<http-method>GET</http-met hod>
<http-method>POST</http-me thod>
<http-method>PUT</http-met hod>
</web-resource-collection>
<auth-constraint>
<!-- Anyone with one of the listed roles may access this area -->
<role-name>tomcat</role-na me>
<role-name>role1</role-nam e>
</auth-constraint>
</security-constraint>
<!-- Default login configuration uses form-based authentication -->
<login-config>
<auth-method>FORM</auth-me thod>
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/jsp/secu rity/prote cted/login .jsp</form -login-pag e>
<form-error-page>/jsp/secu rity/prote cted/error .jsp</form -error-pag e>
</form-login-config>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<role-name>role1</role-nam e>
</security-role>
<security-role>
<role-name>tomcat</role-na me>
</security-role>
<!-- Environment entry examples -->
<!--env-entry>
<env-entry-description>
The maximum number of tax exemptions allowed to be set.
</env-entry-description>
<env-entry-name>maxExempti ons</env-e ntry-name>
<env-entry-value>15</env-e ntry-value >
<env-entry-type>java.lang. Integer</e nv-entry-t ype>
</env-entry-->
<env-entry>
<env-entry-name>minExempti ons</env-e ntry-name>
<env-entry-value>1</env-en try-value>
<env-entry-type>java.lang. Integer</e nv-entry-t ype>
</env-entry>
<env-entry>
<env-entry-name>foo/name1< /env-entry -name>
<env-entry-value>value1</e nv-entry-v alue>
<env-entry-type>java.lang. String</en v-entry-ty pe>
</env-entry>
<env-entry>
<env-entry-name>foo/bar/na me2</env-e ntry-name>
<env-entry-value>true</env -entry-val ue>
<env-entry-type>java.lang. Boolean</e nv-entry-t ype>
</env-entry>
<env-entry>
<env-entry-name>name3</env -entry-nam e>
<env-entry-value>1</env-en try-value>
<env-entry-type>java.lang. Integer</e nv-entry-t ype>
</env-entry>
<env-entry>
<env-entry-name>foo/name4< /env-entry -name>
<env-entry-value>10</env-e ntry-value >
<env-entry-type>java.lang. Integer</e nv-entry-t ype>
</env-entry>
<!-- EJB Reference -->
<ejb-ref>
<description>Example EJB Reference</description>
<ejb-ref-name>ejb/Account< /ejb-ref-n ame>
<ejb-ref-type>Entity</ejb- ref-type>
<home>com.mycompany.mypack age.Accoun tHome</hom e>
<remote>com.mycompany.mypa ckage.Acco unt</remot e>
</ejb-ref>
<!-- Local EJB Reference -->
<ejb-local-ref>
<description>Example Local EJB Reference</description>
<ejb-ref-name>ejb/ProcessO rder</ejb- ref-name>
<ejb-ref-type>Session</ejb -ref-type>
<local-home>com.mycompany. mypackage. ProcessOrd erHome</lo cal-home>
<local>com.mycompany.mypac kage.Proce ssOrder</l ocal>
</ejb-local-ref>
</web-app>
<jsp:useBean id="form" class ="com.ch.FormBean">
<jsp:setProperty name="form" property="*"/>
</jsp:useBean>
<html>
<body>
<%
String[] errors = (String[])request.getAttri bute("erro rs");
if(errors!=null && errors.length>0)
{
%>
<b>Please correct the following Errors:</b>
<ul>
<%
for(int i=0;i<errors.length;i++)
{%>
<li><%=errors[i]%></li>
<%}%>
</ul>
<%}%>
<form action="FormServlet" method="post">
<INPUT TYPE="text" NAME="name" value ="<jsp:getProperty name="form" property="name"/>">
<b>Name</b>(Last,First)<br >
<INPUT TYPE="text" NAME="email" value ="<jsp:getProperty name="form" property="email"/>">
<b>EMail</b>(user@host)<br >
<INPUT TYPE="text" NAME="ssn" value ="<jsp:getProperty name="form" property="ssn"/>">
<b>SSN</b>(123456789)<br>
<p>
<INPUT TYPE="submit" value="Submit Form">
</form>
</body>
</html>
Servlet is in:
C:\jakarta-tomcat-4.1.27\j akarta-tom cat-4.1.27 \webapps\e xamples\WE B-INF\clas ses
Bean is in:
C:\jakarta-tomcat-4.1.27\j akarta-tom cat-4.1.27 \webapps\e xamples\WE B-INF\clas ses\com\ch
Please let me know whats wrong.
Rajesh.
version of Java:
C:\j2sdkee1.2.1
C:\jdk1.3.1_04
Error:
description The requested resource (/examples/FormServlet) is not available.
I am attaching all the Files for your Ref:(Not the Bean)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Tomcat Examples</display-name>
<description>
Tomcat Example servlets and JSP pages.
</description>
<!-- Define servlet-mapped and path-mapped example filters -->
<filter>
<filter-name>Servlet Mapped Filter</filter-name>
<filter-class>filters.Exam
<init-param>
<param-name>attribute</par
<param-value>filters.Examp
</init-param>
</filter>
<filter>
<filter-name>Path Mapped Filter</filter-name>
<filter-class>filters.Exam
<init-param>
<param-name>attribute</par
<param-value>filters.Examp
</init-param>
</filter>
<filter>
<filter-name>Request Dumper Filter</filter-name>
<filter-class>filters.Requ
</filter>
<!-- Example filter to set character encoding on each request -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetC
<init-param>
<param-name>encoding</para
<param-value>EUC_JP</param
</init-param>
</filter>
<filter>
<filter-name>Compression Filter</filter-name>
<filter-class>compressionF
<init-param>
<param-name>compressionThr
<param-value>10</param-val
</init-param>
<init-param>
<param-name>debug</param-n
<param-value>0</param-valu
</init-param>
</filter>
<!-- Define filter mappings for the defined filters -->
<filter-mapping>
<filter-name>Servlet Mapped Filter</filter-name>
<servlet-name>invoker</ser
</filter-mapping>
<filter-mapping>
<filter-name>Path Mapped Filter</filter-name>
<url-pattern>/servlet/*</u
</filter-mapping>
<!-- Example filter mapping to apply the "Set Character Encoding" filter
to *all* requests processed by this web application -->
<!--
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-patte
</filter-mapping>
-->
<!--
<filter-mapping>
<filter-name>Compression Filter</filter-name>
<url-pattern>/CompressionT
</filter-mapping>
-->
<!--
<filter-mapping>
<filter-name>Request Dumper Filter</filter-name>
<url-pattern>/*</url-patte
</filter-mapping>
-->
<!-- Define example application events listeners -->
<listener>
<listener-class>listeners.
</listener>
<listener>
<listener-class>listeners.
</listener>
<!-- Define servlets that are included in the example application -->
<servlet>
<servlet-name>SendMailServ
<servlet-class>SendMailSer
</servlet>
<servlet>
<servlet-name>
snoop
</servlet-name>
<servlet-class>
SnoopServlet
</servlet-class>
<!--
<init-param>
<param-name>foo</param-nam
<param-value>bar</param-va
</init-param>
-->
<run-as>
<description>Security role for anonymous access</description>
<role-name>tomcat</role-na
</run-as>
</servlet>
<servlet>
<servlet-name>
servletToJsp
</servlet-name>
<servlet-class>
servletToJsp
</servlet-class>
</servlet>
<servlet>
<servlet-name>
FormServlet
</servlet-name>
<servlet-class>
FormServlet
</servlet-class>
</servlet>
<servlet>
<servlet-name>
CompressionFilterTestServl
</servlet-name>
<servlet-class>
compressionFilters.Compres
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>invoker</ser
<url-pattern>/servlet/*</u
</servlet-mapping>
<servlet-mapping>
<servlet-name>
CompressionFilterTestServl
</servlet-name>
<url-pattern>
/CompressionTest
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SendMailServ
<url-pattern>/SendMailServ
</servlet-mapping>
<servlet-mapping>
<servlet-name>
snoop
</servlet-name>
<url-pattern>
/snoop
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
servletToJsp
</servlet-name>
<url-pattern>
/servletToJsp
</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/debug-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/debug-taglib.
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/examples-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/example-tagli
</taglib-location>
</taglib>
<resource-ref>
<res-ref-name>mail/Session
<res-type>javax.mail.Sessi
<res-auth>Container</res-a
</resource-ref>
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protect
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/jsp/security
<!-- If you list http methods, only those methods are protected -->
<http-method>DELETE</http-
<http-method>GET</http-met
<http-method>POST</http-me
<http-method>PUT</http-met
</web-resource-collection>
<auth-constraint>
<!-- Anyone with one of the listed roles may access this area -->
<role-name>tomcat</role-na
<role-name>role1</role-nam
</auth-constraint>
</security-constraint>
<!-- Default login configuration uses form-based authentication -->
<login-config>
<auth-method>FORM</auth-me
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/jsp/secu
<form-error-page>/jsp/secu
</form-login-config>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<role-name>role1</role-nam
</security-role>
<security-role>
<role-name>tomcat</role-na
</security-role>
<!-- Environment entry examples -->
<!--env-entry>
<env-entry-description>
The maximum number of tax exemptions allowed to be set.
</env-entry-description>
<env-entry-name>maxExempti
<env-entry-value>15</env-e
<env-entry-type>java.lang.
</env-entry-->
<env-entry>
<env-entry-name>minExempti
<env-entry-value>1</env-en
<env-entry-type>java.lang.
</env-entry>
<env-entry>
<env-entry-name>foo/name1<
<env-entry-value>value1</e
<env-entry-type>java.lang.
</env-entry>
<env-entry>
<env-entry-name>foo/bar/na
<env-entry-value>true</env
<env-entry-type>java.lang.
</env-entry>
<env-entry>
<env-entry-name>name3</env
<env-entry-value>1</env-en
<env-entry-type>java.lang.
</env-entry>
<env-entry>
<env-entry-name>foo/name4<
<env-entry-value>10</env-e
<env-entry-type>java.lang.
</env-entry>
<!-- EJB Reference -->
<ejb-ref>
<description>Example EJB Reference</description>
<ejb-ref-name>ejb/Account<
<ejb-ref-type>Entity</ejb-
<home>com.mycompany.mypack
<remote>com.mycompany.mypa
</ejb-ref>
<!-- Local EJB Reference -->
<ejb-local-ref>
<description>Example Local EJB Reference</description>
<ejb-ref-name>ejb/ProcessO
<ejb-ref-type>Session</ejb
<local-home>com.mycompany.
<local>com.mycompany.mypac
</ejb-local-ref>
</web-app>
<jsp:useBean id="form" class ="com.ch.FormBean">
<jsp:setProperty name="form" property="*"/>
</jsp:useBean>
<html>
<body>
<%
String[] errors = (String[])request.getAttri
if(errors!=null && errors.length>0)
{
%>
<b>Please correct the following Errors:</b>
<ul>
<%
for(int i=0;i<errors.length;i++)
{%>
<li><%=errors[i]%></li>
<%}%>
</ul>
<%}%>
<form action="FormServlet" method="post">
<INPUT TYPE="text" NAME="name" value ="<jsp:getProperty name="form" property="name"/>">
<b>Name</b>(Last,First)<br
<INPUT TYPE="text" NAME="email" value ="<jsp:getProperty name="form" property="email"/>">
<b>EMail</b>(user@host)<br
<INPUT TYPE="text" NAME="ssn" value ="<jsp:getProperty name="form" property="ssn"/>">
<b>SSN</b>(123456789)<br>
<p>
<INPUT TYPE="submit" value="Submit Form">
</form>
</body>
</html>
Servlet is in:
C:\jakarta-tomcat-4.1.27\j
Bean is in:
C:\jakarta-tomcat-4.1.27\j
Please let me know whats wrong.
Rajesh.
version of Java:
C:\j2sdkee1.2.1
C:\jdk1.3.1_04
you don't have servlet mapping in your web.xml. you need this:
<servlet-mapping>
<servlet-name>FormServlet< /servlet-n ame>
<url-pattern>/jsp/FormServ let</url-p attern>
</servlet-mapping>
and restart your tomcat.
<servlet-mapping>
<servlet-name>FormServlet<
<url-pattern>/jsp/FormServ
</servlet-mapping>
and restart your tomcat.
ASKER
Hi
The above problem is fixed ..Thanks.
Now I have the First page, when i click on submit, it should say Loading in the second page for 5 mins and automatically control transfers to my third page after 5 Mins. How do i do this using JSP?
The above problem is fixed ..Thanks.
Now I have the First page, when i click on submit, it should say Loading in the second page for 5 mins and automatically control transfers to my third page after 5 Mins. How do i do this using JSP?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I think, u forgot to map it in the web.xml (if tomcat is app server).
<servlet>
<servlet-name>YourServlet<
<servlet-class>com.ch.Your
</servlet>
and specify whatever mapping u want..
<servlet-mapping>
<servlet-name>YourServlet<
<url-pattern>/YourServlet<
</servlet-mapping>
Now u can use directly the name YourServlet for the action.
Hope this helps
regards
fargo