server (make sure you didn't forget the "C<cd Hello>" from the
previous step):
- $ script/hello_server.pl
+B<Note>: the -r enables reloading on code changes so you don't have to stop and
+start the server when you update code. see perldoc script/hello_server.pl for
+more useful options.
+
+ $ script/hello_server.pl -r
[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded plugins:
.----------------------------------------------------------------------------.
| Catalyst::Plugin::ConfigLoader 0.27 |
- | Catalyst::Plugin::Static::Simple 0.25 |
'----------------------------------------------------------------------------'
[debug] Loaded dispatcher "Catalyst::Dispatcher"
.-------------------------------------+--------------------------------------.
| Path | Private |
+-------------------------------------+--------------------------------------+
- | / | /default |
| / | /index |
+ | / | /default |
'-------------------------------------+--------------------------------------'
- [info] Hello powered by Catalyst 5.80013
+ [info] Hello powered by Catalyst 5.80018
You can connect to your server at http://debian:3000
Point your web browser to L<http://localhost:3000> (substituting a
in your URL). Information similar to the following should be appended
to the logging output of the development server:
- [info] *** Request 1 (0.005/s) [20712] [Sun Oct 11 11:58:51 2009] ***
- [debug] "GET" request for "/" from "172.0.0.1"
- [info] Request took 0.007342s (136.203/s)
- .----------------------------------------------------------------+-----------.
- | Action | Time |
- +----------------------------------------------------------------+-----------+
- | /index | 0.000491s |
- | /end | 0.000595s |
- '----------------------------------------------------------------+-----------'
+ [info] *** Request 1 (0.001/s) [23194] [Sat Jan 16 11:09:18 2010] ***
+ [debug] "GET" request for "/" from "127.0.0.1"
+ [debug] Path is "/"
+ [info] Request took 0.004851s (206.143/s)
+ .------------------------------------------------------------+-----------.
+ | Action | Time |
+ +------------------------------------------------------------+-----------+
+ | /index | 0.000395s |
+ | /end | 0.000425s |
+ '------------------------------------------------------------+-----------'
-Press Ctrl-C to break out of the development server.
+B<Note>: Press Ctrl-C to break out of the development server if necessary.
=head1 HELLO WORLD
Here you're sending your own string to the webpage.
-Save the file, start the server (stop and restart it if it's still
-running), and go to L<http://localhost:3000/hello> to
-see "Hello, World!" Also notice that a new action is listed under
-"Loaded Private actions" in the development server debug output.
+Save the file, and you should notice the following in your server output:
+ Saw changes to the following files:
+ - /srv/http/xenoterracide/Catalyst/Hello/lib/Hello/Controller/Root.pm (modify)
+
+ Attempting to restart the server
+ ...
+ [debug] Loaded Private actions:
+ .----------------------+--------------------------------------+--------------.
+ | Private | Class | Method |
+ +----------------------+--------------------------------------+--------------+
+ | /default | Hello::Controller::Root | default |
+ | /end | Hello::Controller::Root | end |
+ | /index | Hello::Controller::Root | index |
+ | /hello | Hello::Controller::Root | hello |
+ '----------------------+--------------------------------------+--------------'
+
+ [debug] Loaded Path actions:
+ .-------------------------------------+--------------------------------------.
+ | Path | Private |
+ +-------------------------------------+--------------------------------------+
+ | / | /index |
+ | / | /default |
+ | /hello | /hello |
+ '-------------------------------------+--------------------------------------'
+ ...
+
+Go to L<http://localhost:3000/hello> to see "Hello, World!".
=head2 Hello, World! Using a View and a Template
E<gt>body()> statement). So your template will be magically displayed
at the end of your method.
-After saving the file, restart the development server, and look at
-L<http://localhost:3000/hello> again. You should
-see the template that you just made.
-
-
=head1 CREATE A SIMPLE CONTROLLER AND AN ACTION
Create a controller named "Site" by executing the create script:
<p>Hello, [% username %]!</p>
-Bring up or restart the server. Notice in the server output that
-C</site/test> is listed in the Loaded Path actions. Go to
-L<http://localhost:3000/site/test> in your browser.
-
You should see your test.tt file displayed, including the name "John"
that you set in the controller.