2012-11-20 2 views
0

jsp에서 hello world 프로그램을 작성했으며 이제 JSP를 통해 양식을 처리하려고합니다. 이jsp 페이지를 자바 클래스에 연결

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 


<FORM METHOD=POST ACTION="SaveName.jsp"> 
Name <INPUT TYPE=TEXT NAME=username SIZE=20><BR> 
Email <INPUT TYPE=TEXT NAME=email SIZE=20><BR> 
Age <INPUT TYPE=TEXT NAME=age SIZE=4> 
<P><INPUT TYPE=SUBMIT> 
</FORM> 
</BODY> 
</HTML> 
    </body> 
</html> 

이 유사 SaveName.jsp라는 이름의 자바 빈즈 UserData를라는 이름의 클래스이

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 

     <jsp:useBean id="userData" class="javabeans.UserData" scope="session"/> 
<jsp:setProperty name="userData" property="*"/> 


</BODY> 
</HTML> 
    </body> 
</html> 

추천하고 패키지에 동일한 프로젝트에서 보이는 것처럼

내 JSP 양식 (GetName.jsp)이 보인다 이렇게 생겼어. GetName.jsp을 실행할 때

package javabeans; 

public class UserData { 

    String username; 
    String email; 
    int age; 

    public void setUsername(String value) 
    { 
     username = value; 
    } 

    public void setEmail(String value) 
    { 
     email = value; 
    } 

    public void setAge(int value) 
    { 
     age = value; 
    } 

    public String getUsername() { return username; } 

    public String getEmail() { return email; } 

    public int getAge() { return age; } 

} 

지금 나는 다음과 같은 오류가

D:\javaworkspace\Netbeans7-2\HelloWeb\build\generated\src\org\apache\jsp\SaveName_jsp.java:56: cannot find symbol 
symbol : class UserData 
location: class org.apache.jsp.SaveName_jsp 
     UserData user = null; 
    ^
D:\javaworkspace\Netbeans7-2\HelloWeb\build\generated\src\org\apache\jsp\SaveName_jsp.java:58: cannot find symbol 
symbol : class UserData 
location: class org.apache.jsp.SaveName_jsp 
     user = (UserData) _jspx_page_context.getAttribute("user", PageContext.SESSION_SCOPE); 
D:\javaworkspace\Netbeans7-2\HelloWeb\build\generated\src\org\apache\jsp\SaveName_jsp.java:60: cannot find symbol 
symbol : class UserData 
location: class org.apache.jsp.SaveName_jsp 
      user = new UserData(); 
3 errors 
D:\javaworkspace\Netbeans7-2\HelloWeb\nbproject\build-impl.xml:930: The following error occurred while executing this line: 
D:\javaworkspace\Netbeans7-2\HelloWeb\nbproject\build-impl.xml:284: Compile failed; see the compiler error output for details. 
BUILD FAILED (total time: 2 seconds) 
+2

은 왜 ... u는 서블릿을 사용하고 거기에서 유저 데이터 클래스, 그리고 그들에게 나는 매우 오전 JSP –

+0

에서 빈으로이 클래스를 사용하여 표시하기위한 매개 변수를 설정할 수 있습니다 JSP 폼 데이터를 전송하는 jsp.So를 처음 사용하는 이유는 폼을 처리하는 방법을 무작위로 체크하고 있기 때문입니다. – user1720616

답변

1

당신은 SaveName에 JSP 코드의 상단이 추가 SaveName.jsp

내부

UserData 클래스를 가져와야 수 .jsp

<%@ page import="javabeans.UserData" %> 
+0

고맙습니다.하지만 그건 내 문제를 해결하지 못합니다. – user1720616

+0

은'your_webapp/WEB-INF/classes/javabeans' 폴더의'UserData' .class 파일입니까? – Abubakkar

+0

아니요. 변경하려고해야 할 수도 있습니다. 응답 해 주셔서 감사합니다. – user1720616

0

여기 구현할 항목을 잘 모르겠지만 giv 전자 JSP 서블릿에 대한 간단한 생각

먼저 간단한 JSP 프로그램을 만들 수 있습니다. 그것은 사용자에게 이름과 이메일 ID를 물어볼 것이고 폼 액션은 abc 서블릿으로 리디렉션 할 것입니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title> My first JSP </title> 
</head> 
<body>  
    <form action="abc">   
     Please enter a name <br> 
     <input type="text" name="name"size="20px"> 
        Please enter an email <br> 
     <input type="text" name="email"size="20px"> 
     <input type="submit"  value="submit">       
    </form>  
</body> 
</html> 

다음 "ABC"서블릿 장소를 서블릿에서이 코드를 작성합니다. JSP 페이지에서 값을 가져와 표시합니다.

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.io.PrintWriter; 

public class abc extends HttpServlet { 
protected void doGet(HttpServletRequest request, 
    HttpServletResponse response) throws ServletException, IOException 
    { 
// reading the user input 
String name= request.getParameter("name");  
String email= request.getParameter("email");  
String msg="I'm"+name+"id is"+email; 
PrintWriter out = response.getWriter(); 
out.println (
    "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" 
     \"http://www.w3.org/TR/html4/loose.dtd\">\n" + 
    "<html> \n" + 
    "<head> \n" + 
     "<meta http-equiv=\"Content-Type\" content=\"text/html; 
     charset=ISO-8859-1\"> \n" + 
     "<title> Hi </title> \n" + 
    "</head> \n" + 
    "<body> \n" + 
    msg + 
     "</font> \n" + 
    "</body> \n" + 
    "</html>" 
     ); 
    } 
} 

"web.xml"에서 서블릿을 정의하십시오. web.xml 파일에서 서블릿 매핑을 수행해야합니다.

<servlet> 
<servlet-name>abc</servlet-name> 
<servlet-class>abc</servlet-class> 
    </servlet> 
    <servlet-mapping> 
<servlet-name>abc</servlet-name> 
<url-pattern>/abc</url-pattern> 
    </servlet-mapping> 
+0

정말 고마워요. :) – user1720616

관련 문제