<span style="font-size:18px;">/**
* Top10
* author:杨鑫
*/
package servlet; import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class Top10Servlet
*/
@WebServlet("/top10")
public class Top10Servlet extends HttpServlet {
private List<String> londonAttractions;
private List<String> parisAttractions; /**
* 默认的无參数构造方法
*/
public Top10Servlet() {
super();
// TODO Auto-generated constructor stub
} public void init() throws ServletException {
// TODO Auto-generated method stub
londonAttractions = new ArrayList<String>(10);
londonAttractions.add("Buckingham Palace");
londonAttractions.add("London Eye");
londonAttractions.add("British Museum");
londonAttractions.add("National Gallery");
londonAttractions.add("BigBen");
londonAttractions.add("Tower of London");
londonAttractions.add("Natural History Museum");
londonAttractions.add("Canary Wharf");
londonAttractions.add("2012 Olympic Park");
londonAttractions.add("St Paul's Cathedral"); parisAttractions = new ArrayList<String>(10);
parisAttractions.add("Eiffel Tower");
parisAttractions.add("Notre Dame");
parisAttractions.add("The Louvre");
parisAttractions.add("Champs Elysees");
parisAttractions.add("Arc de Triomphe");
parisAttractions.add("Sainte Chapelle Church");
parisAttractions.add("Les Invalides");
parisAttractions.add("Musee d'Orsay");
parisAttractions.add("Montmarte");
parisAttractions.add("Sacre Couer Basilica");
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String city = request.getParameter("city");
if(city != null && (city.equals("london") || city.equals("paris"))){
showAttractions(request, response, city);
}else{
showMainPage(request, response);
}
} private void showMainPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<html><head>" + "<title>Top 10 Tourist Attractions</title>" + "</head><body>" + "please select a city:" + "<br/><a href='? city=london'>London</a>" + "<br/><a href='? city=paris'>Paris</a>" + "</body></html>");
} private void showAttractions(HttpServletRequest request, HttpServletResponse response, String city) throws ServletException, IOException{
int page = 1;
String pageParameter = request.getParameter("page");
if(pageParameter != null){
try{
page = Integer.parseInt(pageParameter);
}catch(NumberFormatException e){
e.printStackTrace();
}
if(page > 2){
page = 1;
}
} List<String> attractions = null;
if(city.equals("london")){
attractions = londonAttractions;
}else if(city.equals("paris")){
attractions = parisAttractions;
} response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head>" + "<title>Top 10 Tourist Attraction</title>" + "</head><body>");
out.println("<a href ='top10'>Select City</a>");
out.println("<hr/>Page " + page + "<hr/>"); int start = page * 5 - 5;
for(int i = start; i < start + 5; i++)
{
out.println(attractions.get(i) + "<br/>");
out.print("<hr style ='color:blue'/>" + "<a href='? city=" + city + "&page=1'>Page 1</a>");
out.println("  <a href='?city=" + city + "&page=2'>Page 2</a>");
out.println("</body></html>");
}
} }
</span>

这里的配置文件我就不贴出来了。

请自行配置:

如图效果

细节:

最新文章

  1. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(23)-权限管理系统-角色组模块
  2. Oracle 数据库中对记录进行分页处理——学习笔记
  3. Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境
  4. System.Web.HttpException: 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。 ---&gt; System.Runtime.Serialization.Seria
  5. mac os利用xampp实现apache下的cgi
  6. 【Python】Python AES 对称加密示例
  7. php中const与define的使用区别 详解
  8. 【笔记】UML核心元素
  9. busybox filesystem httpd php-5.5.31 sqlite3 webserver
  10. Note | Javascript权威指南[第六版] 第1章:Javascript概述
  11. redis学习心得之一【安装redis初体验】
  12. Android SDK Manager 无法更新SDK
  13. JAVA基础--toString, equals方法
  14. (转载)Android出现“Read-only file system”解决办法
  15. 容器—stack
  16. IP通信基础学习第三周(下)
  17. JavaScript之函数(上)
  18. 如何用ABP框架快速完成项目(2) - 快的定义!
  19. sublime修改侧边栏字体
  20. SQL[Err] ORA-00933: SQL command not properly ended

热门文章

  1. 关于 android屏幕适配
  2. pd_ds 之 hash
  3. iOS CoreData 开发
  4. SpringBoot 搭建
  5. JS——sort
  6. C# 定时无操作则退出登陆,回到登陆界面。
  7. Android中Adapter和Bridge模式理解和应用
  8. 查找java文件
  9. IDEA 创建一个普通的java项目
  10. 28.function_score自定义相关度分数算法