Archive for 2月, 2012

  1. Hello, Velocity World!

    Posted on 2月 19th, 2012 by cx20

    Velocity

    Velocity は Java 用のテンプレートエンジンである。英語で「速さ」を意味する。
    テンプレートファイルは VTL(Velocity Template Language)と呼ばれるテンプレート言語が用いられる。

    ソースコード(テンプレート)

    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p>Hello, $message World!</p>
      </body>
    </html>

    ソースコード(Java)

    import org.apache.velocity.Template;
    import org.apache.velocity.servlet.VelocityServlet;
    import org.apache.velocity.app.Velocity;
    import org.apache.velocity.context.Context;
    import javax.servlet.http.*;
     
    public class Hello extends VelocityServlet {
     
        public Template handleRequest( HttpServletRequest request,
                                       HttpServletResponse response,
                                       Context context ) {
     
            Template template = null;
     
            try {
                context.put("message", "Velocity");
                template = Velocity.getTemplate("hello.vm");
            } catch( Exception e ) {
                System.err.println("Exception: " + e.getMessage());
            }
     
            return template;
        }
    }

    実行方法

    ディレクトリ構成
    /hello               … 公開用フォルダ
        /WEB-INF         … アプリケーション設定ファイル配置場所
            /classes     … クラスファイル配置場所
            /templates   … テンプレート配置場所
     
    1. モジュールのコンパイル
       javac -cp $CATALINA_HOME/lib/velocity-1.7.jar:$CATALINA_HOME/lib/servlet-api.jar:. Hello.java
    2. モジュールの配置
       WEB-INF/classes
    3. テンプレートの配置
       WEB-INF/templates
    4. WEB-INF/velocity.properties の記載
    resource.loader = file
    file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
    file.resource.loader.path = /usr/local/tomcat/current/webapps/hello/WEB-INF/templates
    file.resource.loader.cache = true
    file.resource.loader.modificationCheckInterval = 2
    5. WEB-INF/web.xml の記載
    <?xml version="1.0"?>
    <web-app>
      <servlet>
        <servlet-name>Hello</servlet-name>
        <servlet-class>Hello</servlet-class>
        <init-param>
          <param-name>properties</param-name>
          <param-value>/WEB-INF/velocity.properties</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>Hello</servlet-name>
        <url-pattern>/servlet/Hello</url-pattern>
      </servlet-mapping>
    </web-app>
    6. ブラウザで表示
       http://localhost:8080/hello/servlet/Hello

    実行結果

    Hello, Velocity World!
    
  2. Hello, EL World!

    Posted on 2月 18th, 2012 by cx20

    EL

    EL(Expression Language)は Java EE 周辺技術の一つで JSP 2.0 より導入された組み込み言語である。EL式または式言語と呼ばれている。
    JSP から Java コード(スクリプトレット)を取り除き、コードの可読性を向上させる為に考案された。
    ${} の形式で式や変数を記述する。実際の変数はスコープに設定されている属性として扱われる。
    JSP 2.1 より JSF の #{} の形式(遅延評価型)を取り入れた Unified EL が利用可能となっている。
    なお、Java EE 周辺技術のバージョンは以下のような対応になっている。

    J2EE Servlet JSP EL JSTL JSF EJB
    J2EE 1.2 2.2 1.1 1.1
    J2EE 1.3 2.3 1.2 1.0 2.0
    J2EE 1.4 2.4 2.0 2.0 1.1 2.1
    Java EE 5 2.5 2.1 2.1 1.2 1.2 3.0
    Java EE 6 3.0 2.2 2.2 1.2 2.0 3.1

    ソースコード(EL)

    <%@ page contentType="text/html"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <c:set var="message" value="EL" scope="page" />
        <p>Hello, <c:out value="${message}"/> World!</p>
      </body>
    </html>

    上記 JSTL コードは、以下の JSP コードに相当する。

    ソースコード(JSP)

    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <% pageContext.setAttribute("message","EL"); %>
        <p>Hello, <%= pageContext.getAttribute("message") %> World!</p>
      </body>
    </html>

    実行方法

    ディレクトリ構成
    /hello               … 公開用フォルダ
        /WEB-INF         … アプリケーション設定ファイル配置場所
            /lib         … ライブラリ配置場所
     
    1. WEB-INF/lib にライブラリを配置
       jstl.jar
       standard.jar
    2. Tomcat の公開フォルダに JSP ファイルを配置
    3. ブラウザで表示
       http://localhost:8080/hello/hello.jsp

    実行結果

    Hello, JSTL World!
  3. Hello, JSF World!

    Posted on 2月 17th, 2012 by cx20

    JSF

    JSF(JavaServer Faces)は Java EE 周辺技術の一つで Java ベースの Web アプリケーションフレームワークである。
    一般的な Web アプリケーションフレームワークが MVC の形式であるのに対して、JSF はコンポーネントベースとなっている。考え方は ASP.NET に近い。
    なお、Java EE 周辺技術のバージョンは以下のような対応になっている。

    J2EE Servlet JSP EL JSTL JSF EJB
    J2EE 1.2 2.2 1.1 1.1
    J2EE 1.3 2.3 1.2 1.0 2.0
    J2EE 1.4 2.4 2.0 2.0 1.1 2.1
    Java EE 5 2.5 2.1 2.1 1.2 1.2 3.0
    Java EE 6 3.0 2.2 2.2 1.2 2.0 3.1

    ソースコード(JSF)

    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <f:view>
          <h:outputText value="Hello, JSF World!" />
        </f:view>
      </body>
    </html>

    実行方法

    ディレクトリ構成
    /hello               … 公開用フォルダ
        /WEB-INF         … アプリケーション設定ファイル配置場所
            /lib         … ライブラリ配置場所
     
    1. WEB-INF/lib にライブラリを配置
       myfaces-api.jar
       myfaces-impl.jar
    2. Tomcat の公開フォルダに JSP ファイルを配置
    3. WEB-INF/web.xml の記載
    <?xml versino="1.0"?>
    <web-app>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
    </web-app>
    4. WEB-INF/faces-config.xml の記載
    <?xml version="1.0"?>
    <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
      version="1.2">
    </faces-config>
    5. ブラウザで表示
       http://localhost:8080/hello/hello.jsf

    実行結果

    Hello, JSF World!
  4. Hello, JSTL World!

    Posted on 2月 16th, 2012 by cx20

    JSTL

    JSTL(JavaServer Pages Standard Tag Library)は、Jakarta プロジェクトにより開発された JSP の標準タグライブラリである。Java EE 5 より正式に標準仕様として取り入れられた。
    タグライブラリは JSP 内の Java コードをカプセル化したものである。
    なお、Java EE 周辺技術のバージョンは以下のような対応になっている。

    J2EE Servlet JSP EL JSTL JSF EJB
    J2EE 1.2 2.2 1.1 1.1
    J2EE 1.3 2.3 1.2 1.0 2.0
    J2EE 1.4 2.4 2.0 2.0 1.1 2.1
    Java EE 5 2.5 2.1 2.1 1.2 1.2 3.0
    Java EE 6 3.0 2.2 2.2 1.2 2.0 3.1

    ソースコード(JSTL)

    <%@ page contentType="text/html"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p><c:out value="Hello, JSTL World!"/></p>
      </body>
    </html>

    上記 JSTL コードは、以下の JSP コードに相当する。

    ソースコード(JSP)

    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p><% out.print( "Hello, JSTL World!" ); %></p>
      </body>
    </html>

    実行方法

    ディレクトリ構成
    /hello               … 公開用フォルダ
        /WEB-INF         … アプリケーション設定ファイル配置場所
            /lib         … ライブラリ配置場所
     
    1. WEB-INF/lib にライブラリを配置
       jstl.jar
       standard.jar
    2. Tomcat の公開フォルダに JSP ファイルを配置
    3. ブラウザで表示
       http://localhost:8080/hello/hello.jsp

    実行結果

    Hello, JSTL World!
  5. Hello, JSP World!

    Posted on 2月 15th, 2012 by cx20

    JSP

    JSP(JavaServer Pages)は Java EE 周辺技術の一つで Web サーバーで Java プログラムを動作させる技術である。
    JSP は HTML に Java コードを埋め込む形で記述する。実行時に Java Servlet のコードが生成されコンパイルされる。
    実行環境としては Java Servlet と同様に Apache Tomcat が用いられることが多い。
    JSP の類似技術としては、Java Servlet、PHP、ASP、ASP.NET 等がある。
    なお、Java EE 周辺技術のバージョンは以下のような対応になっている。

    J2EE Servlet JSP EL JSTL JSF EJB
    J2EE 1.2 2.2 1.1 1.1
    J2EE 1.3 2.3 1.2 1.0 2.0
    J2EE 1.4 2.4 2.0 2.0 1.1 2.1
    Java EE 5 2.5 2.1 2.1 1.2 1.2 3.0
    Java EE 6 3.0 2.2 2.2 1.2 2.0 3.1

    ソースコード

    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p><% out.print( "Hello, JSP World!" ); %></p>
      </body>
    </html>

    上記 JSP コードは、以下の Java Servlet コードと同様である。実際には実行時に Java クラスファイルにコンパイルされ実行される。

    ソースコード(Java)

    package org.apache.jsp.jsp;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
     
    public final class hello_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent {
     
      private static final javax.servlet.jsp.JspFactory _jspxFactory =
              javax.servlet.jsp.JspFactory.getDefaultFactory();
     
      private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
     
      private javax.el.ExpressionFactory _el_expressionfactory;
      private org.apache.tomcat.InstanceManager _jsp_instancemanager;
     
      public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
        return _jspx_dependants;
      }
     
      public void _jspInit() {
        _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
        _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
      }
     
      public void _jspDestroy() {
      }
     
      public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
            throws java.io.IOException, javax.servlet.ServletException {
     
        final javax.servlet.jsp.PageContext pageContext;
        javax.servlet.http.HttpSession session = null;
        final javax.servlet.ServletContext application;
        final javax.servlet.ServletConfig config;
        javax.servlet.jsp.JspWriter out = null;
        final java.lang.Object page = this;
        javax.servlet.jsp.JspWriter _jspx_out = null;
        javax.servlet.jsp.PageContext _jspx_page_context = null;
     
     
        try {
          response.setContentType("text/html");
          pageContext = _jspxFactory.getPageContext(this, request, response,
          			null, true, 8192, true);
          _jspx_page_context = pageContext;
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out;
     
          out.write("<html>rn");
          out.write("  <head>rn");
          out.write("    <title>Hello, World!</title>rn");
          out.write("  </head>rn");
          out.write("  <body>rn");
          out.write("    <p>");
          out.print( "Hello, JSP World!" );
          out.write("</p>rn");
          out.write("  </body>rn");
          out.write("</html> ");
        } catch (java.lang.Throwable t) {
          if (!(t instanceof javax.servlet.jsp.SkipPageException)){
            out = _jspx_out;
            if (out != null && out.getBufferSize() != 0)
              try { out.clearBuffer(); } catch (java.io.IOException e) {}
            if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
          }
        } finally {
          _jspxFactory.releasePageContext(_jspx_page_context);
        }
      }
    }

    実行方法

    1. Tomcat の公開フォルダ に配置
    2. ブラウザで表示
       http://localhost:8080/hello/hello.jsp

    実行結果

    Hello, JSP World!
  6. Hello, Java Servlet World!

    Posted on 2月 14th, 2012 by cx20

    Java Servlet

    Java Servlet は Java EE 周辺技術の一つで Web サーバーで Java プログラムを動作させる技術である。
    サーブレットの実行環境は Web コンテナまたはサーブレットコンテナと呼ばれ、Apache Tomcat が使われることが多い。Tomcat は雄猫を意味する。
    Java Servlet の類似技術としては、JSP(JavaServer Pages)、PHP、ASP、APS.NET 等がある。
    CGI が実行時にプロセスを起動するのに対して、Java Servlet はメモリに常駐して実行時に軽量スレッドとして動作する為、効率が良い。
    なお、Java EE 周辺技術のバージョンは以下のような対応になっている。

    J2EE Servlet JSP EL JSTL JSF EJB
    J2EE 1.2 2.2 1.1 1.1
    J2EE 1.3 2.3 1.2 1.0 2.0
    J2EE 1.4 2.4 2.0 2.0 1.1 2.1
    Java EE 5 2.5 2.1 2.1 1.2 1.2 3.0
    Java EE 6 3.0 2.2 2.2 1.2 2.0 3.1

    ソースコード(Java)

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class Hello extends HttpServlet {
        public void doGet( HttpServletRequest request, HttpServletResponse response )
            throws ServletException,IOException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println( "<html>" );
            out.println( "  <head>" );
            out.println( "    <title>Hello, World!</title>" );
            out.println( "  </head>" );
            out.println( "  <body>" );
            out.println( "    <p>Hello, Java Servlet World!</p>" );
            out.println( "  </body>" );
            out.println( "</html>" );
        }
    }

    実行方法

    ディレクトリ構成
    /hello               … 公開用フォルダ
        /WEB-INF         … アプリケーション設定ファイル配置場所
            /classes     … クラスファイル配置場所
     
    1. モジュールのコンパイル
        javac -cp $CATALINA_HOME/lib/servlet-api.jar:. Hello.java
    2. モジュールの配置
       WEB-INF/classes
    3. WEB-INF/web.xml の記載
    <?xml version="1.0"?>
    <web-app>
      <servlet>
        <servlet-name>Hello</servlet-name>
        <servlet-class>Hello</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Hello</servlet-name>
        <url-pattern>/servlet/Hello</url-pattern>
      </servlet-mapping>
    </web-app>
    4. ブラウザで表示
       http://localhost/hello/servlet/Hello

    実行結果

    Hello, Java Servlet World!
  7. Hello, StringTemplate.NET World!

    Posted on 2月 13th, 2012 by cx20

    StringTemplate.NET

    StringTemplate.NET は Java 用のテンプレートエンジン「StringTemplate」の .NET 実装である。

    ソースコード(テンプレート)

    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p>Hello, $message$ World!</p>
      </body>
    </html>

    ソースコード(C#)

    using System;
    using System.IO;
    using System.Diagnostics;
    using Antlr3.ST;
    using Antlr3.ST.Language;
     
    public partial class _Hello : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                String template = Server.MapPath("templates");
                StringTemplateGroup group = new StringTemplateGroup("group", template);
                StringTemplate st = group.GetInstanceOf("hello");
                st.SetAttribute("message", "StringTemplate.NET");
                Response.Write(st);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Exception: " + ex.Message);
            }
        }
    }

    実行方法

    ディレクトリ構成
    /Hello               … 公開用フォルダ
        /Hello.aspx
        /Hello.aspx.cs
        /Web.config      … ASP.NET 構成ファイル
        /bin
             /Antlr3.Runtime.dll
             /Antlr3.StringTemplate.dll
        /templates      … テンプレート配置場所
              /hello.st
     
    1. テンプレートの配置
       templates
    2. ブラウザで表示
       http://localhost/Hello/Hello.aspx

    実行結果

    Hello, StringTemplate.NET World!
    
  8. Hello, NVelocity World!

    Posted on 2月 12th, 2012 by cx20

    NVelocity

    NVelocity は Java 用のテンプレートエンジン「Velocity」の .NET 実装である。

    ソースコード(テンプレート)

    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p>Hello, $message World!</p>
      </body>
    </html>

    ソースコード(C#)

    using System;
    using System.IO;
    using System.Diagnostics;
    using Commons.Collections;
    using NVelocity;
    using NVelocity.App;
    using NVelocity.Context;
     
    public partial class _Hello : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            VelocityEngine velocity = new VelocityEngine();
            VelocityContext context = new VelocityContext();
            StringWriter sw = new StringWriter();
            try
            {
                String properties = Server.MapPath("nvelocity.properties");
                velocity.Init(properties);
                Template template = velocity.GetTemplate("hello.vm");
                context.Put("message", "NVelocity");
                template.Merge(context, sw);
                Response.Write(sw.GetStringBuilder().ToString());
            }
            catch( Exception ex )
            {
                Debug.WriteLine("Exception: " + ex.Message);
            }
        }
    }

    実行方法

    ディレクトリ構成
    /Hello               … 公開用フォルダ
        /Hello.aspx
        /Hello.aspx.cs
        /nvelocity.properties … NVelocity 設定ファイル
        /Web.config      … ASP.NET 構成ファイル
        /bin
             /NVelocity.dll
        /templates      … テンプレート配置場所
              /hello.vm
     
    1. テンプレートの配置
       templates
    2. nvelocity.properties の記載
    resource.loader = file
    file.resource.loader.class = NVelocity.Runtime.Resource.Loader.FileResourceLoader
    file.resource.loader.path = C:\home\edu\vs2010\vc10#\Hello\templates
    file.resource.loader.cache = true
    file.resource.loader.modificationCheckInterval = 2
    3. ブラウザで表示
       http://localhost/Hello/Hello.aspx

    実行結果

    Hello, NVelocity World!
    
  9. Hello, ASP.NET Razor World!

    Posted on 2月 11th, 2012 by cx20

    ASP.NET Razor

    Razor は ASP.NET の新しい Web ページ記述構文である。
    ASP や PHP のように HTML の中にスクリプトを埋め込むように記述できるという特徴がある。
    実際の記述コードの言語としては、C# や Visual Basic(VB.NET)が用いられる。
    実行環境として ASP.NET MVC 3 もしくは WebMatrix が必要。

    ソースコード(C# による Razor 記法)

    @{
        var msg = "ASP.NET Razor";
    }
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p>Hello, @msg World!</p>
      </body>
    </html>

    ソースコード(Visual Basic による Razor 記法)

    @Code
        Dim msg = "ASP.NET Razor"
    End Code
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p>Hello, @msg World!</p>
      </body>
    </html>

    上記 Razor 記法のコードは、以下の .NET のコードに相当する。実行時に .NET アセンブリにコンパイルされ実行される。

    ソースコード(C#)

    namespace ASP {
        using System;
        using System.Collections.Generic;
        using System.IO;
        using System.Linq;
        using System.Net;
        using System.Web;
        using System.Web.Helpers;
        using System.Web.Security;
        using System.Web.UI;
        using System.Web.WebPages;
        using System.Web.WebPages.Html;
        using WebMatrix.WebData;
        using WebMatrix.Data;
     
        public class _Page_hello_cshtml : System.Web.WebPages.WebPage {
            public _Page_hello_cshtml() {
            }
     
            protected System.Web.HttpApplication ApplicationInstance {
                get {
                    return ((System.Web.HttpApplication)(Context.ApplicationInstance));
                }
            }
     
            public override void Execute() {
                var msg = "ASP.NET Razor";
                WriteLiteral("<html>rn<head>rn<title>Hello, World!</title>rn</body>rn<body>rn<p>Hello, ");
                Write(msg);
                WriteLiteral(" World!</p>rn</body>rn</html> ");
            }
        }
    }

    実行方法

    1. IIS の公開フォルダ に配置
    2. ブラウザで表示
       http://localhost/doc/hello.cshtml … C# の場合
       http://localhost/doc/hello.vbhtml … VB の場合

    実行結果

    Hello, ASP.NET Razor World!
  10. Hello, ASP.NET World!

    Posted on 2月 10th, 2012 by cx20

    ASP.NET

    ASP.NET は、ASP の後継でマイクロソフトの Web サーバー(IIS)でプログラムを動作させる技術の一つである。
    既定の言語として Visual Basic(VB.NET)や C# が用いられるが、実際にはコンパイルされた .NET アセンブリが使用される為、JScript.NET や C++/CLI など .NET に対応した他の言語でも記述が可能である。

    ソースコード(Visual Basic)

    <%@ Page Language="VB" %>
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p><% Response.Write( "Hello, ASP.NET World!" ) %></p>
      </body>
    </html>

    ソースコード(C#)

    <%@ Page Language="C#" %>
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p><% Response.Write( "Hello, ASP.NET World!" ); %></p>
      </body>
    </html>

    ソースコード(JScript.NET)

    <%@ Page Language="JScript" %>
    <html>
      <head>
        <title>Hello, World!</title>
      </head>
      <body>
        <p><% Response.Write( "Hello, ASP.NET World!" ); %></p>
      </body>
    </html>

    上記コードは、以下の .NET のコードに相当する(以下の例は C# のケース)。実行時に .NET アセンブリにコンパイルされ実行される。

    ソースコード

     
    namespace ASP {
        using System.Web;
        using System.Text.RegularExpressions;
        using System.Web.Profile;
        using System.Web.UI.WebControls;
        using System.Web.Security;
        using System.Collections.Generic;
        using System.Collections.Specialized;
        using System;
        using System.Xml.Linq;
        using System.Collections;
        using System.Linq;
        using System.Web.UI;
        using System.Web.DynamicData;
        using System.Text;
        using System.Web.Caching;
        using System.Web.UI.HtmlControls;
        using System.Configuration;
        using System.Web.UI.WebControls.WebParts;
        using System.Web.SessionState;
        using System.ComponentModel.DataAnnotations;
     
        [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
        public class hello_aspx : global::System.Web.UI.Page, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
            private static bool @__initialized;
            private static object @__fileDependencies;
     
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public hello_aspx() {
                string[] dependencies;
                ((global::System.Web.UI.Page)(this)).AppRelativeVirtualPath = "~/hello.aspx";
                if ((global::ASP.hello_aspx.@__initialized == false)) {
                    dependencies = new string[1];
                    dependencies[0] = "~/hello.aspx";
                    global::ASP.hello_aspx.@__fileDependencies = this.GetWrappedFileDependencies(dependencies);
                    global::ASP.hello_aspx.@__initialized = true;
                }
                this.Server.ScriptTimeout = 30000000;
            }
     
            protected System.Web.Profile.DefaultProfile Profile {
                get {
                    return ((System.Web.Profile.DefaultProfile)(this.Context.Profile));
                }
            }
     
            protected override bool SupportAutoEvents {
                get {
                    return false;
                }
            }
     
            protected System.Web.HttpApplication ApplicationInstance {
                get {
                    return ((System.Web.HttpApplication)(this.Context.ApplicationInstance));
                }
            }
     
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void @__BuildControlTree(hello_aspx @__ctrl) {
                this.InitializeCulture();
                @__ctrl.SetRenderMethodDelegate(new System.Web.UI.RenderMethod(this.@__Render__control1));
            }
     
            private void @__Render__control1(System.Web.UI.HtmlTextWriter @__w, System.Web.UI.Control parameterContainer) {
                @__w.Write("rn<html>rn<head>rn<title>Hello, World!</title>rn</head>rn<body>rn<p>");
                Response.Write( "Hello, ASP.NET World!" );
                @__w.Write("</p>rn</body>rn</html> ");
            }
     
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void FrameworkInitialize() {
                base.FrameworkInitialize();
                this.@__BuildControlTree(this);
                this.AddWrappedFileDependencies(global::ASP.hello_aspx.@__fileDependencies);
                this.Request.ValidateInput();
            }
        }
    }

    実行方法

    1. IIS の公開フォルダ に配置
    2. ブラウザで表示
       http://localhost/doc/hello.aspx

    実行結果

    Hello, ASP.NET World!