JSP and servlet tutorials

86 716 1
JSP and servlet tutorials

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Một số điều cần nhớ với java web 1.Cấu hình web.xml  Configuring welcome file. <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list>  Cấu hình jsp. <servlet> <servlet-name>HTML5</servlet-name> <jsp-file>/HTML5_CSS3.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>HTML5</servlet-name> <url-pattern>/HTML5</url-pattern> </servlet-mapping>  Cấu hình servlet. • Servlet mapping <servlet> <servlet-name>CheckLogin</servlet-name> <servlet-class>Controller.CheckLogin</servlet-class> </servlet> <servlet-mapping> <servlet-name>CheckLogin</servlet-name> <url-pattern>/LoginError</url-pattern> </servlet-mapping> • Khởi tạo servlet này lúc triển khai hay trong thời gian khởi động server ,thay vì phải chờ đợi cho yêu câu đầu tiên. <servlet> <servlet-name>KathyOne</servlet-name> <servlet-class>foo.DeployTestOne</servlet-class> <load-on-startup>1</load-on-startup> </servlet>  Configuring Error page. • Khai báo một bắt lỗi cho tất cả ứng dụng của bạn,không chỉ jsp. <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/errorPage.jsp</location> </error-page> • Khai báo cụ thể hơn:Trang arithmaticException.jsp sẽ được gọi nếu lỗi của ứng dụng là ArithmaticException .Nếu lỗi khác với lỗi ArithmaticException thì nó sẽ gọi đến trang lỗi của toàn ứng dụng. <error-page> <exception-type>java.lang.ArithmeticException</exception-type> <location>/arithmaticException.jsp</location> </error-page> • Đây là trang lỗi sẽ được gọi đến khi status của reponse là 404(file not found) <error-page> <exception-type>404</exception-type> <location>/notFoundError.jsp</location> </error-page>  Session <session-config> <session-timeout>30</session-timeout> </session-config> Hàm trên sẽ set timeout cho session của toàn hệ thống.Session sẽ mất hiệu lực sau 30 phút kể từ khi session được hình thành.  Cấu hình property cho tất cả các trang jsp <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern><! tất cả các file jsp > //tập các thuộc tính Ví dụ: <el-ignored>false</el-ignored> <!—cho phép sử dụng EL > </jsp-property-group> </jsp-config>  Parameter • Application initialization parameters. • Khai báo biến khởi tạo ban đầu cho toàn bộ application.(Khi project đó được load lên server thì biến đó đã được khởi tạo). <context-param> <param-name>Account</param-name> <param-value>ducky</param-value> </context-param> <context-param> <param-name>Password</param-name> <param-value>2013</param-value> </context-param> • Lấy giá trị biến từ servlet ta làm như sau: ServletContext context=this.getServletContext(); String account=context.getInitParameter("Account"); String password=context.getInitParameter("Password"); • Servlet initialization parameters. • Khai báo biến khởi tạo ban đầu trong servlet file có tên LoginProcess. (Khi file servlet đó được load lên server thì biến đó đã được khởi tạo). <servlet> <servlet-name>LoginProcess</servlet-name> <servlet-class>Controller.LoginProcess</servlet-class> <init-param> <param-name>song</param-name> <param-value>I am yours</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>LoginProcess</servlet-name> <url-pattern>/LoginProcess</url-pattern> </servlet-mapping> • Cách lấy biến đó từ servlet đó là: ServletConfig config=this.getServletConfig(); String song=config.getInitParameter("song"); • Cách lấy biến từ trang jsp thông qua biến config thuộc kiểu ServletConfig: name :<%=config.getInitParameter("name")%> Kq:Giá trị của biến song (kiểu String) là : I am yours. • Jsp initialization parameters. Ta cũng có thể config một parameter vào file JSP.Cách cấu hình như của servlet. Note :Trong một web application chỉ có một đối tượng ServletContext ,còn ServletConfig là của riêng từng thằng servlet khác nhau. 2.Servlet 2.1.Một số hàm quan trọng.  getParameter String[] names=request.getParameterValues("name"); String name=request.getParameter("name"); Ngoài ra còn có : getParameterMap, getParameterNames  forward(): used to forward request from one servlet to another servlet. request.setAttribute("title","home page"); ServletContext servletContext=getServletContext(); RequestDispatcher dispatcher=servletContext.getRequestDispatcher("home"); dispatcher.forward(request, response); hoặc request.setAttibute(“imageName”,”funny”); RequestDispatcher dispatcher=request.getRequestDispatcher("home"); dispatcher.forward(request, response);  sendRedirect :Link tới một trang khác và không có giữ liệu gửi đến trang đó.(Giống như thẻ a). response.sendRedirect("login.jsp");  include(): used to include the contents of another servlet, JSP page or a HTML file to a servlet. RequestDispatcher dispatcher=getServletContext().getRequestDispatcher(path); if(dispatcher==null){ out.print(path+"not found"); }else{ dispatcher.include(request, response); } 2.2.Session.  setSession . HttpSession session=request.getSession(); session.setAttribute("userName", “quangthao”);  getSession. HttpSession session=request.getSession(); String userName=(String)session.getAttribute(“userName”); Note:Nếu session chưa có giá trị thì nó sẽ trả về giá trị null.  Một số hàm liên quan đến session. • session.invalidate() :làm mất hiệu lực của session • session.setMaxInactiveInterval(600) :set thời gian hiệu lực tối đa cho session tính bằng second. • session.isNew() :Kiểm tra là session đó được tạo ra lần đầu tiên hay đã được tạo ra nhiều lần. Một số điều chú ý : Với câu lệnh : HttpSession session=request.getSession(boolean); Giá trị truyền vào là kiểu boolean (true or false).Nếu giá trị truyền vào là false thì sẽ có 2 lựa chọn :  Nếu sesson đó đã tồn tại thì nó sẽ return session đó.  Nếu session chưa tồn tại thì nó trả về bằng null. Giá trị truyền vào là true (tức là giá trị mặc định hay không có giá trị boolean truyền vào):  Nếu sesson đó đã tồn tại thì nó sẽ return session đó.  Nếu bạn là 1 client mới thì nó sẽ tạo ra một session mới và trả về cho bạn . 2.3.Cookie • addCookie response.addCookie(new Cookie("location","VietName")); • getCookies for(Cookie cookie:request.getCookies()){ System.out.println(cookie.getName()); System.out.println(cookie.getValue()); } 2.4.Attribute Ta có thể setAttrabute bằng một chuỗi hoặc một object. Ví dụ set một chuỗi : request.setAttibute(“user”,”Thao”); Ví dụ set một object: User user=new User(); Request.setAtribute(“user”,user); Class User có thể bao gồm tên,địa chỉ,password,ngày sinh, Như vậy ta có thể lấy được nhiều thông tin hơn từ 1 object. 3.Jsp. 3.1.Một số hàm quan trọng. 3.1.1.pageContext Ví dụ: <% pageContext.setAttribute("scope", "Page context"); %> getAttribute is:<%=pageContext.getAttribute("scope")%> findAttribute is:<%=pageContext.findAttribute("scope")%> KQ: getAttribute is:Page context findAttribute is:Page context • getAttribute: Chỉ tìm trong nội bộ trang. • findAttribute :Hàm này sẽ tìm từ phạm vi nhỏ nhất rồi mở rộng dần,từ trong trang ,request, session, và cuối cùng là toàn bộ aplication. Ví dụ : Session scope is: < %=pageContext.getAttribute("otherScope",PageContext.SESSION_SCOPE)%> Kq:trả về value atribute có tên otherScope, PageContext.SESSION_SCOPE là phạm vị tìm kiếm. Các phạm vi : PageContext.APPLICATION_SCOPE PageContext.SESSION_SCOPE PageContext.REQUEST_SCOPE PageContext.PAGE_SCOPE 3.1.2. Directive Gồm có 3 Directive: • <%@include %> Ví dụ : %@include file="HTML5_CSS3.jsp"% [...]... value thông qua name của 1 trang jsp gửi đến trang jsp hiện tại,ta làm như sau: Trang jsp submit: Trang Jsp Servlet 27- Jsp pageContext .jsp là: < /jsp: include> Hoặc ta có thể đẩy thẳng biến vào: < /jsp: include> Hoặc có thể truyền nhiều biến: Bên trang Jsp Servlet 27- Jsp pageContext .jsp sẽ lấy giá trị của input có tên abc như sau: ${param.abc} Nếu ta... request.setAttribute(“student”,student); Jsp: < /jsp: useBean> Nếu ta không có attribute có tên student thì nó vẫn tạo ra một useBean nhưng là useBean rỗng.Thẻ jsp: setProperty hiện tại đang nằm trong cặp thẻ jsp: useBean,nó chỉ thực hiện... Hoặc : Ta có thể đặt trên đầu trang hoăc trong thẻ body,điều khác nhau của hai cái này là sẽ được biên dịch trước khi chạy server ,khi đó server khởi động châm nhưng nó sẽ nhanh hơn trong quá trình sử dụng,còn sẽ được load lại sau mỗi lần... value="" name="userName"/> < /jsp: include> Hoặc có thể truyền nhiều biến: < /jsp: include> •  errorPage(Trang 492->495) • Ví dụ: . <welcome-file>default .jsp& lt;/welcome-file> </welcome-file-list>  Cấu hình jsp. < ;servlet& gt; < ;servlet- name>HTML5< /servlet- name> < ;jsp- file>/HTML5_CSS3 .jsp& lt; /jsp- file> < /servlet& gt; . < ;servlet- mapping> < ;servlet- name>HTML5< /servlet- name> <url-pattern>/HTML5</url-pattern> < /servlet- mapping>  Cấu hình servlet. • Servlet mapping < ;servlet& gt; . < ;servlet& gt; < ;servlet- name>CheckLogin< /servlet- name> < ;servlet- class>Controller.CheckLogin< /servlet- class> < /servlet& gt; < ;servlet- mapping> < ;servlet- name>CheckLogin< /servlet- name>

Ngày đăng: 06/05/2014, 13:54

Mục lục

    The working folder for a Tomcat servlet

Tài liệu cùng người dùng

Tài liệu liên quan