|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... JSP+JavaBean两层布局的开辟应当是对照熟习的,也对照好了解。
可是有一点必需要分明就是用户经由过程扫瞄器来发送网页的哀求,此哀求抵达服务器后在服务器端查找对应的网页,假如是初次哀求(第二次就不必注释实行了),关于JSP来讲要天生Servlet,然后经由过程Servlet引擎来实行Servlet,把挪用JavaBean的了局嵌进到页面中前往给用户的扫瞄器。
JSP+JavaBean+Servlet三层布局的本色是多了一个Controller:Servlet来分发客户端扫瞄器的哀求。假如把起把持器感化的Servlet的感化了解为对客户真个哀求举行预处置对了解Servlet将有很年夜的匡助。经由过程web.xml设置文件能够找到用户哀求和特定的Servlet的对应干系,每一个Servlet都有一个特定的Servlet对象与之对应,以是说处置用户哀求的就是一个承继自HttpServlet的Servlet对象。
<!--JSPCservletmappingsstart-->
<servlet>
<servlet-name>ms1</servlet-name>
<servlet-class>news.FirstAction</servlet-class>
</servlet>
<servlet>
<servlet-name>ms2</servlet-name>
<servlet-class>news.DetailAction</servlet-class>
</servlet>
<!--JSPCservletmappingsend-->
<servlet-mapping>
<servlet-name>ms1</servlet-name>
<url-pattern>/newsmain</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ms2</servlet-name>
<url-pattern>/newsDetail</url-pattern>
</servlet-mapping>
如下面所示的摘自web.xml的一段设置servlet,第一部分次要用来设置Servlet与详细的Servlet对象联系关系,第二部分次要用来设置哀求由哪一个Servlet处置,Servlet名字的联系关系,处置哀求就与详细Servlet处置对象联系关系起来,好比说,客户端扫瞄器发来/newsmain的哀求,它由ms1servlet举行处置,经由过程ms1就可以找到绝对应的serlet对象news.FirstAction,即/newsmain->ms1->news.FirstAction,这也就是设置文件的意义地点。到如今明白了用户/newsmain哀求会被news.FirstAction类的对象举行处置,以是说,要看懂程序就要看懂FirstAction的感化是甚么就好了。好比说上面是FirstAction的一个完成。
publicfinalclassFirstActionextendsHttpServlet{
protectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
DBdb=newDB();
HttpSessionsession=req.getSession();
try{
session.setAttribute(Constants.NEWS_LIST_KEY,News
.SearchNewsTitle(db));
}catch(Exceptione){
e.printStackTrace();
}
db.close();
Stringtarget="/P43_News/newsMain.jsp";
resp.sendRedirect(target);
}
}
经由过程这个完成能够看到,当服务器收到客户端哀求实行News.SearchNewsTitle(db)的操纵,然后把前往值经由过程session.setAttribute放到session里,然后经由过程resp.sendRedirect(target)直接转移到newsMain.jsp,如许在newsMain.jsp里经由过程session.getAttribute函数就能够失掉在存储在session里的对应值。
回过火来就简单看出JSP+JavaBean两层布局和JSP+JavaBean+Servlet三层布局的分歧了,两层布局必需把预处置放在JSP中举行,好比说News.SearchNewsTitle(db),三层布局先把预处置在Servlet里举行了,然后相称于把这个处置了局经由过程Session前往给JSP,让JSP更存眷于界面的显现。
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。 |
|