mvc模式:jsp加javabean的基础再加servlet,就会构成mvc模式 mvc是一个设计模型,它强制的使应用程序的输入,处理,和输出分开。使用mvc应用程序被分成三个核心的部件: 模型(Model-java class,也可以是java bean,ejb)-视图(view-jsp来做)-控制器(Contronller-servlet)MVC的不足:1)工作量增加了,但是跟带来的好处不值一提2)不适用小型项目,否则就是机关枪打蚊子3)调试的难度加大
两种model1模式(这是最开始的模式还有2,3模式,):
1)纯粹的jsp
2)jsp+
javaclass
jsp与servlet的关系:
a,是对应关系
b,jsp是以servlet为基础的
<%中间写的就是java片段%>
****
头次访问jsp文件的时候,jsp文件会被服务器翻译成对应的一个java文件(servlet),然后再被编译成
.class文件并加载到内存中,以后访问jsp就直接调用内存中的jsp实例,所以在
第一次访问jsp慢,后边访问就变快了
****
在jsp中如何跳转,如何接收数据,同时还有将接收的数据传给下一个页面
1)如何跳转:response.sendRedirect(”路径“);
2)如何接收数据:request.getParameter(
"name");
3) 将接收的数据传给下一个页面:
a,cookie
b,session
c,response.sendRedirect,例如:
开始接收的数据:String user=request.getParameter(
"user_name");
将接收的数据传给下一个页面:response.sendRedirect(”路径?user_name=“+
name);
加入要将接收的打印出来就用<%=user_name%>
//这里是接收的数据
*****
jsp中的注释:
在jsp表达式中的注释:
1)
// 2)/**/
3)提示文档注释
/** */
例如运用到声明标识中
<!-- <%=
new Date() %> -->
<%!
int number=
0;
/**
*funtion:计数器
*return:访问次数
*/
int count(){
return number;
//当鼠标在count函数上时就会提示文档注释的内容
}
%>
4)隐藏注释(当你在网站查看源代码的时候,你看不见标识的内容)
<%-- 注释内容--%>
5)动态注释
例如:<!-- <%=
new Date() %> -->
在网页访问源代码时就会显示时间
******
内置对象
request对象(用于处理HTTP请求的各项数据)
1)访问请求参数
案例:通过超链接传递参数,并接收显示:
<a href=
"deal.jsp?id=1&user="lu
">进入处理页</a>
deal.jsp文件:
<body>
<%
String id=request.getParameter(
"id");
String user=request.getParameter(
"user");
String password=request.getParameter(
"pwd");
%>
id的参数为<%=id %><br>
//1
user的参数为<%=user %><br>
//lu
pwd的参数为<%=password %>
//null
</body>
总结:当有要指定多个参数时,之间用 & 连接即可。(不要忘记了问好)
转向与转发: response.sendRedirect("Welcome.jsp"); /*上边的转向,但是效率不高,所以公司经常使用的是转发 * 这种方法不仅效率高,同时request中的对象还可以在下一个页面使用 */ request.getRequestDispatcher("Welcome.jsp").forward(request,response);