标签:举例 lis utf-8 3.3 out type inf ace 响应
Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持Servlet标准的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。目前最新版本为3.0。
Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
客户端发送请求至服务器端;
服务器将请求信息发送至Servlet;
Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
服务器将响应返回给客户端。
将之前的例题代码进行分析,得出:代码套用的是下图的模式
此模式有问题:
StudentService stuService = new StudentServiceImpl();
List<StudentInfo> stuList = stuService.getAllStudents();
我们期待是把这2行代码去掉,让jsp页面更简洁
这是修改后模式:MVC模式
参考二维表,考虑各个字段名字、类型
1 public class House { 2 private String id; 3 private String name; 4 private String address; 5 public String getId() { 6 return id; 7 } 8 …//其它
接口:
1 public interface HouseService { 2 public List<House> getAllHouses(); 3 }
实现类:
1 @Override 2 public List<House> getAllHouses() { 3 List<House> houseList = new ArrayList<House>(); 4 //1 光头强的家 森林188号 5 //2 熊大的家 森林树洞一期3楼 6 House h1 = new House(); 7 House h2 = new House(); 8 9 h1.setId("1"); 10 h1.setName("光头强的家"); 11 h1.setAddress("森林188号"); 12 13 h2.setId("2"); 14 h2.setName("熊大的家"); 15 h2.setAddress("森林树洞一期3楼"); 16 17 18 houseList.add(h1); 19 houseList.add(h2); 20 21 return houseList; 22 }
在action包中新建Servlet:
上面是测试跳转代码
1 request.setCharacterEncoding("UTF-8");
2
3 response.setCharacterEncoding("UTF-8");
4 response.setContentType("text/html;charset=UTF-8;pageEncoding=UTF-8");
5
6 PrintWriter out = response.getWriter();
7 out.println("你好申し訳ありませетийдоктор ");
上面这里输出具体的html代码的写法,注意:这个是反例,不应该在Servlet里面输出html内容,Servlet应该做控制器的功能。
3.5、建立一个show.jsp,取得request对象中的List
核心代码:request.getAttribute("houseList_label");
今天的学习到此告一个段落,明天会继续的进行学习并更新改文章。
标签:举例 lis utf-8 3.3 out type inf ace 响应
原文地址:http://www.cnblogs.com/Mingsnow/p/6875270.html