PDA

View Full Version : سوال: مشکل در jsp:useBean



jmajid
یک شنبه 21 مهر 1387, 00:54 صبح
سلام
من یک سایت دارم و توی صفحه اصلی سایت (index.jsp) کد زیر به خوبی کار میکنه
<jsp:useBean class="pkg1.Myclass" id="c" scope="request"/>
اما وقتی همین کد رو توی یک فایل jsp که توی یک دایرکتوری دیگه هست (مثلا test/index.jsp) قرار میدم
Tomcat/5.5.25 بهم این exception رو میده


org.apache.jasper.JasperException: /index.jsp(14,7) The value for the useBean class attribute pkg1.Myclass is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jsp Error(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatc h(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspErro r(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisit or.visit(Generator.java:1175)
org.apache.jasper.compiler.Node$UseBean.accept(Nod e.java:1117)
org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2166)
org.apache.jasper.compiler.Node$Visitor.visitBody( Node.java:2216)
org.apache.jasper.compiler.Node$Visitor.visit(Node .java:2222)
org.apache.jasper.compiler.Node$Root.accept(Node.j ava:457)
org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2166)
org.apache.jasper.compiler.Generator.generate(Gene rator.java:3322)
org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:199)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:296)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:277)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:265)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)



در ضمن محتوای Myclass هم اینجوریه


package pkg1;

public class Myclass {
String s;

public Myclass() {
}

public void setS(String s) {
this.s = s;
}

public String getS() {
return s;
}

}


میخواستم از اساتید سوال کنم ببینم کسی میتونه مشکل من رو حل کنه
اگه لطف کنید زودتر جواب بدید ممنون میشم

mazdadoost
یک شنبه 21 مهر 1387, 01:15 صبح
دوست عزیز :
احتمالا به هر نحوی جاوا نمیتونه کلاس شما رو در کلاس پت پیدا کنه .کلاس پت رو برای پروژتون وقتی روی تام کت دیپلوی میکنید چک کنید و اصلاحات لازم رو انجام بدین.(برای اینکه بتونم بهتر کمک کنم در صورت امکان پروژتونرو بذارید )
موفق باشید.

jmajid
یک شنبه 21 مهر 1387, 13:12 عصر
خیلی ازجوابتون متشکرم‍‍
پروژه من چیز پیچیده ای نیست
شما اگه ممکنه راهنمایی کنید همین یک کلاس رو من بتونم ازش استفاده کنم ممنون میشم

مشکل من اینه که توی سیستم خودم کاملا درست کار میکنه ولی وقتی روسرور upش میکنم این خطا رو میده
جایی از سرورباید config خاصی انجام بدم ؟
چکار کنم ؟!

javaphantom
پنج شنبه 25 مهر 1387, 10:15 صبح
کل فایل رو بزار توی سایت ببینم می تونم کمکت کنم یا نه

jmajid
یک شنبه 28 مهر 1387, 01:11 صبح
سلام
خیلی متشکرم از کمکتون
اینهم از فایل های پروژه من

javaphantom
دوشنبه 29 مهر 1387, 23:27 عصر
سلام
خیلی متشکرم از کمکتون
اینهم از فایل های پروژه من

خوب معلومه که چرا کار نمی کنه.
این چیزی که شما برای من فرستاتید هر جوری که deploy کنید به مشکل بر خواهید خورد. برای اینکه شما بتوانید برنامه خود را در tomecat یا هر servlet container ی deploy کنید باید از یک سری استاندارد ها پیروی کنید. من یادآوری می کنم اگر شما می دونستید که اون موقع بصورت استاندارد دباره برای من project رو بفرستید.

یک folder به نام WEB-INF همیجوری که براتون نوشتم با حروف بزرگ درست کنید.
در کنار این فلدر می تونید jsp فایلها رو بزارید. در دا خل این فلدر فایل web.xml باید قرار بگیره. در صورتی که servlet دارین که معلوم هم هست دارید در داخل این فلدر یک فلدر دیگر به نام classes همه با حروف کوچک درست کنید و در داخل این فلدر یعنی classes فایلهای کامپایل شده servlet رو قرار بدین. این قدم اول هست. بعد برنامه خودتون رو باید deploy کنید یعنی اینکه یک war فایل درست کنید چه جوری؟ این جوری
در مسییر WEB-INF باشید یعنی فلدر WEB-INF وjsp فایل رو مشاهده می کنید
با دستور

jar -cvf myproject.war *
project خودتون رو deploy کنید. حالا هر جا سرور باشه این بابام کار می کنه

jmajid
پنج شنبه 02 آبان 1387, 00:07 صبح
سلام
باز هم از جوابتون ممنونم
من کارهایی که گفتید رو قبلا هم انجام دادم
قبلا هم گفتم که این برنامه روی سیستم خودم درست کار میکنه
اما وقتی روی سرور وب deployش میکنم فقط اون پیجهایی که توی دایرکتوری اصلی هستن درست کار میکنن( مثل www.mydomain.com/index.jsp)
اما پیچ هایی که توی دایرکتوری های دیگه میرن( مثل www.mydomain.com/test/index.jsp)
دیگه کار نمیکنن و فقط lib های اصلی جاوا رو میتونم توشون فراخونی کنم

فکر کنم الان دیگه منظورم رو واضح تر گفته باشم
باز هم از کمکتون متشکرم

javaphantom
پنج شنبه 02 آبان 1387, 16:58 عصر
war file رو بزارید توی سایت تا من هم یک تست بکنم
منظور اون چیزی که می خواهید در آخر سر بدهید به سرور و جواب نمی ده

jmajid
سه شنبه 14 آبان 1387, 22:24 عصر
سلام
این هم فایلی که گفته بودید