久久久99久久精品女同性,国产精品福利视频,日本一区二区在线http://www.aygfsteel.com/ytech/學(xué)習(xí)JAVA, Hello World!zh-cnWed, 18 Jun 2025 08:23:39 GMTWed, 18 Jun 2025 08:23:39 GMT60一段JSTL Iteration 的代碼http://www.aygfsteel.com/ytech/archive/2005/11/30/21986.htmlJava 的學(xué)習(xí)之路Java 的學(xué)習(xí)之路Wed, 30 Nov 2005 08:17:00 GMThttp://www.aygfsteel.com/ytech/archive/2005/11/30/21986.htmlhttp://www.aygfsteel.com/ytech/comments/21986.htmlhttp://www.aygfsteel.com/ytech/archive/2005/11/30/21986.html#Feedback0http://www.aygfsteel.com/ytech/comments/commentRss/21986.htmlhttp://www.aygfsteel.com/ytech/services/trackbacks/21986.html 

 1<%@ page import="java.util.List" %>
 2<%@ page import="java.util.ArrayList" %>
 3<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 4<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 5<html>
 6<head><title>Hello</title></head>
 7
 8<body>
 9<pre>
10    Hello world this is the JSTL Test Page
11</pre>
12<%!
13    public class Person {
14        public Person(String name, String mGender, String address) {
15            this.name = name;
16            this.mGenderr = mGender;
17            this.address = address;
18        }
19
20        public String getName() {
21            return name;
22        }
23
24        public void setName(String name) {
25            this.name = name;
26        }
27
28        public String getGender() {
29            return mGenderr;
30        }
31
32        public void setGender(String mGenderr) {
33            this.mGenderr = mGenderr;
34        }
35
36        public String getAddress() {
37            return address;
38        }
39
40        public void setAddress(String address) {
41            this.address = address;
42        }
43
44        private String name;
45        private String mGenderr;
46        private String address;
47
48    }
49
50
%>
51<%
52
53    ArrayList a = new ArrayList();
54    List b = new ArrayList();
55    a.add(new Person("micas""male""xian"));
56    a.add(new Person("nancy""female""shanghai"));
57    a.add(new Person("nancy""female""shanghai"));
58    a.add(new Person("nancy""female""shanghai"));
59    a.add(new Person("nancy""female""shanghai"));
60
61    b.add("a");
62    b.add("b");
63    b.add("c");
64    b.add("d");
65    b.add("e");
66
67
68    request.setAttribute("persons", a);
69    request.setAttribute("otherInfo", b);
70
%>
71
72<table>
73    <c:forEach items="${persons}" var="p" varStatus="status">
74        <tr><td>${otherInfo[status.index]}</td><td>${status.index}</td><td>${p.name}</td><td>${p.address}</td>
75            <td>${p.gender}</td></tr>
76    </c:forEach>
77</table>
78
79
80</body>
81</html>


Java 的學(xué)習(xí)之路 2005-11-30 16:17 發(fā)表評(píng)論
]]>
轉(zhuǎn)發(fā): J2EE1.4新特性之Servlet2.4新特性 http://www.aygfsteel.com/ytech/archive/2005/11/24/21201.htmlJava 的學(xué)習(xí)之路Java 的學(xué)習(xí)之路Wed, 23 Nov 2005 20:08:00 GMThttp://www.aygfsteel.com/ytech/archive/2005/11/24/21201.htmlhttp://www.aygfsteel.com/ytech/comments/21201.htmlhttp://www.aygfsteel.com/ytech/archive/2005/11/24/21201.html#Feedback0http://www.aygfsteel.com/ytech/comments/commentRss/21201.htmlhttp://www.aygfsteel.com/ytech/services/trackbacks/21201.html
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=125&threadID=13086 

在J2EE1.4最新的Servlet 2.4版中,加入了一些新的功能,下面我們介紹其中主要的常用功能。

1、XML Schema定義Web查詢部署描述文件

Servlet 2.3之前的版本使用DTD作為部署描述文件的定義,其web.xml的格式為如下所示:

<?xml version="1.0" encoding="IS0-8859-1"?>
<!DOCTYPE web-app
    PUBLIC "-//sunMicrosystems,Inc.//DTD WebApplication 2.3f//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">
    <web-app>
     .......
    </web-app>



Servlet 2.4版首次使用XML Schema定義作為部署描述文件,這樣Web容器更容易校驗(yàn)web.xml語(yǔ)法。同時(shí)XML Schema提供了更好的擴(kuò)充性,其web.xml中的格式如下所示:

<?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:workflow="http://www.workflow.com"
          xmins:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    .........
    </web-app>



雖然上面顯示兩個(gè)版本的開頭幾行有差別,Servlet 2.4版程序web.xml中Web構(gòu)件的設(shè)置方法和Servlet 2.3版大致相同。

2、Servlet Request監(jiān)聽器

Servlet 2.4版在事件監(jiān)聽器中加入了ServletRequest監(jiān)聽器,包括:ServletRequestListener,ServletRequestAttributeListener和其他相關(guān)類。這些類可以用來(lái)管理和控制與ServletRequest動(dòng)作有關(guān)的事件。下面的程序顯示了一個(gè)典型的ServletRequest監(jiān)聽器的結(jié)構(gòu)。

import javax.setvlet.ServletContext;
    import javax.servlet.ServletRequestListener;
    import javax.servlet.ServletRequestAttributeListener;
    import javax.servlet.http.HttpServletRequest;
    import iava.io.*;
    import java.util.Locale;
    public final class RequestListener  implements   SerVletRequestListener,
    ServletRequestAttributeListener,ServletContextListener{
        ........
public void requestlnitialized(javax.servlet.ServletRequestEvent event){
        ........
        }
public void attributeAdded(javax.servlet.ServletRequestAttributeEvent event){
        ........
        }
public void attributeRemoved(javax.servlet.ServletRequestAttributeEvent event){
        ........
        }
public void attributeReplaced(javax.servlet.ServletRequestAttributeEvent event){
        ........
        }
public void attributeDestroyed(javax.servlet.ServletRequestAttributeEvent event){
       ........
       }
    }



3、 Request Dispatcher變化

Servlet 2.4版的Web程序增強(qiáng)了filter和request dispatcher的配合功能,這樣過濾器可以根據(jù)請(qǐng)求分發(fā)器(request dispatcher)所使用的方法有條件地對(duì)Web請(qǐng)求進(jìn)行過濾。編程者可以通過在web.xml中使用元素設(shè)定過濾器作用的條件(下圖1):




圖1 設(shè)定元素的過濾器


·只有當(dāng)request直接來(lái)自客戶,過濾器才生效,對(duì)應(yīng)為REQUEST條件。

·只有當(dāng)request被一個(gè)請(qǐng)求分發(fā)器使用forward()方法轉(zhuǎn)到一個(gè)Web構(gòu)件時(shí)(采用或定義),對(duì)應(yīng)稱為FORWARD條件。

·類似地,只有當(dāng)request被一個(gè)請(qǐng)求分發(fā)器使用include()方法轉(zhuǎn)到一個(gè)Web構(gòu)件時(shí)(采用或定義),對(duì)應(yīng)稱為INCLUDE條件。

·只有當(dāng)request被一個(gè)請(qǐng)求分發(fā)器使用“錯(cuò)誤信息頁(yè)”機(jī)制方法轉(zhuǎn)到一個(gè)Web構(gòu)件時(shí),對(duì)應(yīng)稱為ERROR條件。

·第五種過濾器作用的條件可以是上面四種條件的組合。

下面的程序中的定義了當(dāng)客戶請(qǐng)求/icsamples/* 樣式的URL時(shí),Security Filter會(huì)被用來(lái)過濾請(qǐng)求。但是如果到達(dá)URL為/icsamples/* 的Web構(gòu)件的請(qǐng)求是從一個(gè)request dispatcher轉(zhuǎn)發(fā)過來(lái)的,這個(gè)過濾器不工作。

<filter-mapping>
    <filter-name>Security Filter</filter-name>
    <url-pattern>/icsamples/*</url-pattern>
    </filter-mapping>



如果使用下面的程序設(shè)置,在中加入INCLUDE,Security Filter只有在被一個(gè)request dispatcher使用include()方法包括RequestRecorderServlet時(shí)才會(huì)工作。在其他情況(如請(qǐng)求直接從客戶發(fā)來(lái),或request dispatcher使用forward方法)下,Security Filter都不會(huì)工作。

<filter-mapping>
    <fliter-name>Security Filter</filter-name>
    <servlet-name>RequestRecorderServlet</servlet-name>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>



下面的程序設(shè)置定義了Security Filter當(dāng)request由客戶直接發(fā)出或request

dispatcher使用forward方法時(shí)能工作。

<filter-mapping>
    <filter-name>Security Filter</filter-name>
    <url-pattern>/icsamples/*</uri-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>



程序例6顯示了一個(gè)在中使用的例子。程序7定義的ReqDispatcherServlet根據(jù)用戶請(qǐng)求的參數(shù)"type",決定如何處理請(qǐng)求。在其中使用了兩個(gè)RequestDispatcher(rd,和rd2),它們可以向URL為/admin或/control的servlet轉(zhuǎn)發(fā)請(qǐng)求。當(dāng)請(qǐng)求被轉(zhuǎn)發(fā)后,適當(dāng)?shù)倪^濾器會(huì)起作用。過濾器和Web資源的關(guān)系可以在web.xml中定義。如果用戶輸入的Web請(qǐng)求參數(shù)為“INCLUDE”,ReqDispatcherServlet的RequestDispatcher會(huì)調(diào)用include 方法,這樣DispatcherFilterIcd會(huì)被使用,因?yàn)樵诙x了INCLUDE;如果用戶輸入的 Web請(qǐng)求參數(shù)為“ERROR”ReqDispatcherServlet會(huì)調(diào)用resp.sendError()方法,這樣DispatcherFilterErr會(huì)被使用,因?yàn)樵诙x了ERROR。

例6:

<filter-mapping>
    <filter-name>DispatcherFilterIcd</filter-name>
    <url-pattern>/admin</url-pattern>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>DispatcherFilterErr</filter-name>
    <url-pattern>/errorpage</url-pattern>
    <dispatcher>ERROR</dispatcher>
    </filter-mapping>



例7:

import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;

    public class ReqDispatcherServlet extends HttpServlet
    {
    String dispatchtype;
    public void init(ServletConfig config) throws ServletException
    {
    super.init(config);
    }
    public void service(HttpServletRequest req,HttpServletResponse resp)
    throws ServletException,IOException
    {
    PrintWriter out=resp.getWriter();
    String type="NONE";
    if((req.getParameter("type"))!=null)
    {
    type = req.getParameter("type");
    }
        resp.setContentType("text/html");
        out.println("<HTML>");
        out.println("<BODY>");
out.println("<HR>");
out.println("<p>");
    out.println("ReqDispacherServelt");
    out.println("</P><p>");
    out.println("ServerName:"+req.getServerName()+"ServerPort:"+
req.getServerPort());   
    out.println("</p>");
    RequestDispatcher rd=req.getRequestDispatcher("/admin");
    RequestDispatcher rd2=req.getRequestDispatcher("/control");
    if(type.equals("REQUEST"))
    {
    }
    if(type.equals("FORWARD"))
     {   
    rd.forward(reg,resp);
     }
    if(type.equals("INCLUDE"))
    {
    rd.include(req,resp);
      }
    if(type.equals("ERROR"))
     {
    resp.sendError(404,"Error from ReqDispacherServlet");
     }
    if(type.equals("CONTROL"))
     {
    rd2.forward(req,resp);
     }
    out.flush();
    }
    public voiddestroy()
    {
    System.out.println("ReqDispacherServlet:destroy()");
     }
    }



4、 增強(qiáng)的國(guó)際化功能

Servlet 2.4增加了Web程序國(guó)際化功能,在web.xml中可以定義網(wǎng)站的字符編碼方式。

<locale-encoding-mapping-list>
    <locale-encoding-mapping>
    <locale>zh</locale>
    <encoding>gb2312</encoding>
    </locale-encoding-mapping>
    </locale-encoding-mapping-list>



當(dāng)客戶請(qǐng)求了特定語(yǔ)言的Web資源時(shí),servlet程序通過ServletResponse接口的setLocale方法設(shè)置一個(gè)Web響應(yīng)的語(yǔ)言屬性。

5、 Login/Logout功能

在Servlet 2.4中增加了logout和login方法方便安全管理。大家可以參考Servlet 2.4的API查看其用法。


Java 的學(xué)習(xí)之路 2005-11-24 04:08 發(fā)表評(píng)論
]]>
J2EE Filter 的幾種用法http://www.aygfsteel.com/ytech/archive/2005/11/22/20866.htmlJava 的學(xué)習(xí)之路Java 的學(xué)習(xí)之路Mon, 21 Nov 2005 22:30:00 GMThttp://www.aygfsteel.com/ytech/archive/2005/11/22/20866.htmlhttp://www.aygfsteel.com/ytech/comments/20866.htmlhttp://www.aygfsteel.com/ytech/archive/2005/11/22/20866.html#Feedback0http://www.aygfsteel.com/ytech/comments/commentRss/20866.htmlhttp://www.aygfsteel.com/ytech/services/trackbacks/20866.html1。 利用Struts 進(jìn)行賬戶權(quán)限管理


這里只有一個(gè)com.micas.utils.test.MyFilter定義,但是在web app啟動(dòng)實(shí)例化了2個(gè)instance,分別讀入2個(gè)參數(shù)。并且,指定了觸發(fā)著兩個(gè)instance的uri 的mapping.

 1 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
 2          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
 4          version="2.4">
 5 
 6     <servlet>
 7         <servlet-name>action</servlet-name>
 8         <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
 9         <init-param>
10             <param-name>config</param-name>
11             <param-value>/WEB-INF/struts-config.xml
12             </param-value>
13         </init-param>
14     </servlet>
15 
16     <!-- Action Servlet Mapping -->
17     <servlet-mapping>
18         <servlet-name>action</servlet-name>
19         <url-pattern>*.do</url-pattern>
20     </servlet-mapping>
21 
22 
23     <display-name>pogo</display-name>
24 
25     <filter>
26         <filter-name>patGeneral</filter-name>
27         <filter-class>com.micas.utils.test.MyFilter</filter-class>
28         <init-param>
29             <param-name>role</param-name>
30             <param-value>general</param-value>
31         </init-param>
32     </filter>
33 
34     <filter>
35         <filter-name>patManager</filter-name>
36         <filter-class>com.micas.utils.test.MyFilter</filter-class>
37         <init-param>
38             <param-name>role</param-name>
39             <param-value>manager</param-value>
40         </init-param>
41     </filter>
42 
43     <filter-mapping>
44         <filter-name>patManager</filter-name>
45         <url-pattern>/view/pat/manager/*</url-pattern>
46     </filter-mapping>
47 
48     <filter-mapping>
49         <filter-name>patGeneral</filter-name>
50         <url-pattern>/view/pat/general/*</url-pattern>
51     </filter-mapping>
52 
53 
54 </web-app>

MyFilter 代碼如下:
 1 package com.micas.utils.test;
 2 
 3 
 4 import javax.servlet.Filter;
 5 import javax.servlet.FilterChain;
 6 import javax.servlet.FilterConfig;
 7 import javax.servlet.ServletException;
 8 import javax.servlet.ServletRequest;
 9 import javax.servlet.ServletResponse;
10 import javax.servlet.http.HttpServletRequest;
11 import java.io.IOException;
12 
13 
23 public class MyFilter implements Filter
24 {
25     private String role;
26 
27     public void init(FilterConfig config) throws ServletException
28     {
29          role = config.getInitParameter("role");
30         System.out.println("role is "+role);
31         config.getServletContext().setAttribute("test",role);
32 
33     }
34 
35     public void doFilter(ServletRequest request, ServletResponse response,
36             FilterChain chain)
37             throws IOException, ServletException
38     {
39 
40         if("manager".equalsIgnoreCase(role)){
41             System.out.println("you are in as a manager");
42         }
43         else if("general".equalsIgnoreCase(role)){
44             System.out.println("you are in as general");
45         }
46         else{
47             System.out.println("something not right");
48         }
49         HttpServletRequest hRequest = (HttpServletRequest)request;
50         System.out.println("the file sends the request is "+hRequest.getRequestURI());
51         chain.doFilter(request, response);
52     }
53 
54     public void destroy()
55     {
56     }
57 }
58 


Java 的學(xué)習(xí)之路 2005-11-22 06:30 發(fā)表評(píng)論
]]>
Struts 的幾種Actionhttp://www.aygfsteel.com/ytech/archive/2005/11/22/20864.htmlJava 的學(xué)習(xí)之路Java 的學(xué)習(xí)之路Mon, 21 Nov 2005 22:20:00 GMThttp://www.aygfsteel.com/ytech/archive/2005/11/22/20864.htmlhttp://www.aygfsteel.com/ytech/comments/20864.htmlhttp://www.aygfsteel.com/ytech/archive/2005/11/22/20864.html#Feedback0http://www.aygfsteel.com/ytech/comments/commentRss/20864.htmlhttp://www.aygfsteel.com/ytech/services/trackbacks/20864.html
  • 直接轉(zhuǎn)發(fā)
  •  1<?xml version="1.0" encoding="ISO-8859-1"?>
     2
     3<!DOCTYPE struts-config PUBLIC
     4          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
     5          "http://struts.apache.org/dtds/struts-config_1_2.dtd">
     6
     7<struts-config>
     8
     9
    10    <action-mappings>
    11        <action path="/view/pat/general/test2" forward="/view/pat/test2.jsp" />
    12        <action path="/view/pat/manager/test1" forward="/view/pat/test1.jsp" />
    13        <action path="/view/pat/general/test3" parameter="/view/pat/test2.jsp" type="org.apache.struts.actions.ForwardAction">
    14        </action>        
    15    </action-mappings>
    16
    17</struts-config>
    18

    11,12 行,簡(jiǎn)單的寫法,直接將請(qǐng)求/view/pat/manager/test1.do 轉(zhuǎn)發(fā)至/view/pat/test1.jsp
    13, 也是一種標(biāo)準(zhǔn)寫法。


    ===未完待續(xù)

    Java 的學(xué)習(xí)之路 2005-11-22 06:20 發(fā)表評(píng)論
    ]]>
    使用IntelliJ調(diào)試JSPhttp://www.aygfsteel.com/ytech/archive/2005/11/11/19293.htmlJava 的學(xué)習(xí)之路Java 的學(xué)習(xí)之路Fri, 11 Nov 2005 06:41:00 GMThttp://www.aygfsteel.com/ytech/archive/2005/11/11/19293.htmlhttp://www.aygfsteel.com/ytech/comments/19293.htmlhttp://www.aygfsteel.com/ytech/archive/2005/11/11/19293.html#Feedback0http://www.aygfsteel.com/ytech/comments/commentRss/19293.htmlhttp://www.aygfsteel.com/ytech/services/trackbacks/19293.html 

     
    今天終于成功地使用了IntelliJ 5.0的調(diào)試jsp的功能,以后再也不用在jsp頁(yè)面寫輸出語(yǔ)句來(lái)看結(jié)果了。
     
    步驟如下:打開遠(yuǎn)程的tomcat以調(diào)試模式打開:catalina.bat jpda start 注意已經(jīng)設(shè)置好環(huán)境變量:
         JPDA_ADDRESS=5050
                    JPDA_TRANSPORT=dt_socket
    然后使用IntelliJ的Run->Config->tomcat server 設(shè)置好tomcat 以及調(diào)試的端口。
     
    不要使用remote,這個(gè)不能調(diào)試jsp.
     
    慶祝。


    Java 的學(xué)習(xí)之路 2005-11-11 14:41 發(fā)表評(píng)論
    ]]>
    主站蜘蛛池模板: 土默特左旗| 贵州省| 玛多县| 林口县| 芜湖市| 大姚县| 沙湾县| 桦川县| 安溪县| 高淳县| 浦城县| 石狮市| 儋州市| 英德市| 庆云县| 龙岩市| 肥乡县| 富民县| 太康县| 句容市| 青海省| 凌源市| 临夏县| 赤壁市| 习水县| 百色市| 绥滨县| 家居| 济宁市| 扎鲁特旗| 奎屯市| 永定县| 达州市| 旬阳县| 黔东| 富顺县| 大埔县| 长宁县| 江川县| 和政县| 岳池县|