本站文章均为 李华明Himi 原创,转载务必在明显处注明:
对于Servlet 学习过后,那么接触到JSP,那么可以发现JSP编程则会突然喜爱上,因为JSP不仅仅也是一个servlet,还能帮我们直接从servlet的容器(Tomcat)为我们直接生成对应的servlet代码。至于更加详细的介绍大家可以自行baidu~goole
下面让我们首先写一个JSP,然后大家就明白了其用途:
1. 首先我们编写如下一个jsp文件,这里起名 himi.jsp,其内容如下:
|
OK,将其之间放置我们上一篇创建的webapp根目录即可;
然后尝试访问一下这个himi.jsp 观察如下:(这里Himi在tomcat目录下创建的webapp叫“MyWebApp”)
OK,发现Servlet 返回给Client端一个“ Hello World! ”字符串
大家先到tomcat目录下的/work/Catalina/localhost/MyWebApp/org/apache/jsp文件夹下我们可以看到如下两个文件:
a)himi_jsp.class b)himi_jsp.java
不二话打开 himi_jsp.java 如下:
|
看到这里大家应该明白了,当客户端访问jsp后,jsp默认生成一个 servlet 并且编译字节码,(当然是第一次访问生成并编译,后续访问就不会再次编译了);
JSP 语法:
拐回头来看 himi.jsp 代码:
|
【JSP 自动生成的servlet代码,其实内置了一些对象,如下:】
out 就是PrintWriter;
req 就是HttpServletRequest,
resp 就是HttpServletResponse
1. <% … %>
也就是说客户端访问jsp后默认将我们himi.jsp中的内容转换成servlet;
2. 其中注视的方式:
1) <%–… …–%> 2) <%//… …%> 3) <%/*… …*/%>
要注意:以上注视都是服务器端的注视方式,如果你在jsp使用客户端注视方式:
<!– … –> 那要格外注意!如果你在客户端注视方式加入<%…%>如下:
<!– <% %> –>中是无法阻止服务器端的代码!只能保证<%..%>不保证在客户端显示出来罢了;
表示将其中的代码成为自动生成servlet类的成员变量或者成员函数;
4. <%= … %>
5. request.getParameter(“xxx”);
例如传入一个 xxx.jsp?xxx=yyy
6. <%@Directive 属性=”属性值”%> 编译期间的命令;
Directive 常用: a) page b) include c) taglib
JSP服务器端和客户端代码互相调用方法:
示例代码段1:
|
示例代码段2:
|
注意 :
1)JSP服务器端代码<%…%>总执行在Client端代码之前
2)代码段2 要注意 “ print(23) ”而不是“println(23)” 因为println是会换行造成客户端语法错误!;