접기
package servlet.member.listener;
import java.util.ArrayList;
import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;
import servlet.member.dto.MemberDTO;
//Application scope에 list-ArrayList객체를 binding
public class SaveRequestMemberListener implements ServletContextListener { public void contextInitialized(ServletContextEvent arg0) { ArrayList list = new ArrayList(); ServletContext ctx = arg0.getServletContext(); ctx.setAttribute("list", list); } public void contextDestroyed(ServletContextEvent arg0) { } }
접기
접기
package servlet.member.attribute;
import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList;
import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import servlet.member.dto.MemberDTO;
//요청 파라미터를 읽어 MemberDTO객체롤 만든 뒤 Application scope의 list에 추가 public class SaveReqMemeberServlet extends HttpServlet { private static final long serialVersionUID = 1L; ArrayList list;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //SevletContext 조회 ServletContext ctx = getServletContext(); //요청파라미터 조회 request.setCharacterEncoding("UTF-8"); //한글을 입력받기 위해서 필요한 메소드(한글처리) String id = request.getParameter("id"); String name = request.getParameter("name"); int age = 0; try { age = Integer.parseInt(request.getParameter("age")); }catch(NumberFormatException e) { e.printStackTrace(); } String gender = request.getParameter("gender"); MemberDTO dto = new MemberDTO(id, name, age, gender); //Application scope에서 ArrayList 객체 Lookup list = (ArrayList)ctx.getAttribute("list"); list.add(dto); PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("<a href='/myweb/show'>Show Attribue</a><br>"); out.println("<a href='/myweb/attribute/request_member_form.html'>Get Attribute</a><br>"); out.println("</body></html>"); } }
접기
접기
package servlet.member.attribute;
import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList;
import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import servlet.member.dto.MemberDTO;
//Applictation scope의 list에 있는 MemberDTO의 값들을 모두 출력하여 응답 public class ShowAllreqMembersServlet extends HttpServlet { private static final long serialVersionUID = 1L; ArrayList list = new ArrayList(); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //ServletContext 조회 ServletContext ctx = getServletContext(); //Application scope에서 ArrayList 객체 lookup list = (ArrayList)ctx.getAttribute("list"); //응답처리 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<html><body>"); for(int i=0; i<list.size(); i++) { MemberDTO obj = (MemberDTO)list.get(i); out.println("ID : " + obj.getId() + "<br>"); out.println("이름 : " + obj.getName() + "<br>"); out.println("나이 : " + obj.getAge() + "<br>"); out.println("성별 : " + obj.getGender() + "<br>"); out.println("------------------------<br>"); } out.println("<a href='/myweb/attribute/request_member_form.html'>Get Attribue</a><br>"); out.println("</body></html>"); } }
접기
접기
package servlet.member.dto;
public class MemberDTO { private String id; private String name; private int age; private String gender; public MemberDTO() {} public MemberDTO(String id, String name, int age, String gender) { super(); this.id = id; this.name = name; this.age = age; this.gender = gender; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "MemberDTO [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + "]"; } }
접기
접기
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns=" http://java.sun.com/xml/ns/javaee " xmlns:web=" http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd " xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd " id="WebApp_ID" version="2.5"> <listener> <listener-class>servlet.member.listener.SaveRequestMemberListener</listener-class> </listener> <servlet> <description></description> <display-name>SaveReqMemeberServlet</display-name> <servlet-name>SaveReqMemeberServlet</servlet-name> <servlet-class>servlet.member.attribute.SaveReqMemeberServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SaveReqMemeberServlet</servlet-name> <url-pattern>/SaveReqMemeberServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>ShowAllreqMembersServlet</display-name> <servlet-name>ShowAllreqMembersServlet</servlet-name> <servlet-class>servlet.member.attribute.ShowAllreqMembersServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ShowAllreqMembersServlet</servlet-name> <url-pattern>/show</url-pattern> </servlet-mapping> </web-app>
접기