私はこのページのチュートリアルに従います。http://javahunter.wordpress.com/2010/09/25/integrating-captcha-in-jsf-2-0/ JSF 2.0で作成されたユーザー登録フォームにキャプチャを統合するには問題があります。これは私がこれまでにやっていることです:CaptchaをJSF 2.0に統合する際の問題
JSFページ:
<h:graphicImage id="capimg" value="#{facesContext.externalContext.requestContextPath}/../Captcha.jpg"/>
<h:inputText id="captchaUserInput" value="#{registrationController.captchaUserInput}"/>
<br />
<h:commandButton value="Register"
action="#{registrationController.doRegisterBuyer}">
</h:commandButton>
管理Bean:
@ManagedBean
@RequestScoped
public class RegistrationController {
...
private String captchaUserInput;
...
public String doRegisterBuyer() throws Exception {
...<code for setting the values of the user>
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
Boolean isResponseCorrect = Boolean.FALSE;
javax.servlet.http.HttpSession session = request.getSession();
String parm = captchaUserInput;
String c = (String) session.getAttribute(MyCaptcha.CAPTCHA_KEY);
if (parm.equals(c)) {
buyersRegistratorEJB.createBuyer(buyer);
} else {
return "failed";
}
return "registrationSucceded.xhtml";
}
クラスMyCaptcha.java(ソースは上記のリンクで見つけることができます)は私のプロジェクト内のotherというパッケージに追加したサーブレットです
web.xmlの設定:
私は私の登録ページに移動したときに、私は、コンソールでこれを見るので、私はここだと思う<servlet>
<servlet-name>Captcha</servlet-name>
<servlet-class>other.MyCaptcha</servlet-class>
<init-param>
<description>passing height</description>
<param-name>height</param-name>
<param-value>30</param-value>
</init-param>
<init-param>
<description>passing height</description>
<param-name>width</param-name>
<param-value>120</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Captcha</servlet-name>
<url-pattern>/Captcha.jpg</url-pattern>
</servlet-mapping>
は、問題の一部です:
WARNING: StandardWrapperValve[Captcha]: PWC1382: Allocate exception for servlet Captcha
java.lang.ClassNotFoundException: other.MyCaptcha
私は私がこれを正しく実装するカント理由の一つが原因のパスだと思いますweb.xml内のMyCaptcha.javaへのアクセスが正しくありません。どうすればそれを修正できますか?また、私は言及したい、私は変更イメージオプションを追加したくない、画像のみ私のためには大丈夫です。
「other.MyCaptcha」はどこにありますか?クラスパスにありますか? – Thomas
これはC:\ jee6workspace \ BBS \ src \ other \ MyCaptcha.javaの私のプロジェクトにあります。どうすればクラスパスに追加できますか? – sfrj