在mvc的模式下,php既可以用来直接在view层和html语言混搭构建页面,
也可以在controller层面扮演数据处理、流程控制的任务,在controller中计算数据,然后传递给view。
比如如下的代码示范:
// controllers/users.php$users = getusers();include ../views/users.php;// views/users.phpprint_r($users);
类似的,在java web里面,jsp是用于view层面的,servlet扮演controller的角色。
jsp 是 java in html
servlet是 html in java
也就是说在html多的地方用jsp,嵌入html页面中构造动态内容,
在需要用java处理更多数据的地方用servlet,可以直接打印,也可以通过设置请求属性来把动态内容转给jsp展示,
jsp通常在第一次请求时被编译为servlet以提高运行性能,如通过tomcat内置的jsp引擎jasper来进行编译。
下面是servlet传递计算数据给jsp的简单代码示范:
public class userservlet extends httpservlet {protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { list users = getuserlist(); string url=...; //relative url for display jsp page servletcontext sc = getservletcontext(); requestdispatcher rd = sc.getrequestdispatcher(url); request.setattribute(users, users); rd.forward(request, response);}
在jsp中获取该属性数据: 0) { for (user user: users) { %> user name:
by iefreer
