1、jsp基础
1.1 jsp的作用
* Servlet:
>缺点:不适合设置html响应体,需要大量的response.getWriter().print(“<html>”)
>优点:动态资源,可以编程。
* html:
>缺点:html是静态页面,不能包含动态信息
>优点:不用为输出html标签而发愁
* jsp(java server pages):
>优点:在原有html的基础上添加java脚本,构成jsp页面。
1.2 jsp和Servlet的分工
* JSP:
>作为请求发起页面,例如显示表单、超链接
>作为请求结束页面,例如显示数据
* Servlet:
>作为请求中处理数据的环节。
1.3 jsp的组成
* jsp = html + Java脚本 + jsp标签
* jsp中无需创建即可使用的对象一共有9个,被称为9大内置对象。例如:request对象、out对象
* 3中Java脚本
> <%......%>:java代码片段(常用),用于定义0~N条Java语句(方法内能写什
么,它就放什么)
> <%=......%>:Java表达式,用于输出(常用),用于输出一条表达式(或变量)
的结果。response.getWriter().print( ... );括号里能放什么,它就能放什么
> <%!......%>:声明,用来创建类的成员变量和成员方法(基本不用,但容易被考)
1.4 jsp和servlet分工的案例
form.jsp
<body>
<form action="/JSPDemo/AServlet" method="post">
整数1:<input type="text" name="num1" /><br/>
整数2:<input type="text" name="num2" /><br/>
<input type="submit" value="提交"/>
</form>
</body>
Result.jsp
<body>
<%
Integer result = (Integer) request.getAttribute("result");
%>
<%=result %>
</body>
Servlet代码
/**
* jsp和servlet的分工
*
* @author赵奇
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取参数
String s1 = request.getParameter("num1");
String s2 = request.getParameter("num2");
//转换成int类型
int num1 = Integer.parseInt(s1);
int num2 = Integer.parseInt(s2);
//运算
int sum = num1 + num2;
//把结果保存到request域中
request.setAttribute("result", sum);
//转换发哦result.jsp
request.getRequestDispatcher("/jia/result.jsp").forward(request,
response);
}
1.5 jsp原理(理解)
* jsp其实是一种特殊的Servlet
>当jsp页面第一次被访问时,服务器会把jsp编译成java文件(这个java其实是一个servlet类)
>然后再把java编译成.class
>然后创建该类对象
>最后调用它的service()方法
>第二次请求同一jsp时,直接调用service()方法
*在tomcat的work目录下可以找到jsp对应的.java源代码
*查看jsp对象Java文件
> java脚本
> html
1.6 jsp注释
* <%--......--%>:当服务器把jsp我、编译成java文件时已经忽略了注释部分