Show posts of category in a page

The way i’d do it:

First – create a page in the wp admin. Then create a file like mypage.php. Save it in your theme and a the top of it, add this to tell wordpress that this is a custom page template:

<?php /* Template Name: Custompage */ get_header(); ?>

Note: it’ll also already call your header.

Then insert a custom loop using get_posts() like this:

<?php global $post; // required
$args = array('category' => 9); // include category 9
$custom_posts = get_posts($args);
foreach($custom_posts as $post) : setup_postdata($post);

// put here what you want to appear for each post like:
//the title:
the_title();

// an excerpt:
the_excerpt();

//and so on...    

endforeach;
?>

Then last, get back to the admin and in your page’s options you should have a drop down menu in the “page attributes” box. Select the “Custompage” template or whatever name you gave it.