初探JSP

来源:互联网 发布:知乎阿里云免费开通码 编辑:程序博客网 时间:2024/06/15 22:02

       今天我正式开始接触JSP,今晚和大家聊一丢丢学习的内容,主要是关于JSTL标签的。虽然网上也有教程,但是

家自己去学习的时候,可能会因为忽略一些细节导致程序一直报错,因此我还是谈谈自己的学习经历。

       首先谈我学习的第一个标签:jsp:forward,英语不错的童鞋应该能够猜出来这个标签是用于页面跳转的,为什么

会先谈这个标签呢?这是出于网站安全考虑的,jsp文件存放的目录一般有两个:1. 直接存放在WebRoot目录下

严厉禁止) 2.存放在WEB-INF目录下(强烈推荐!!)要是直接存储在WebRoot下面,则可以通过浏览器直

就访问到服务端页面代码,这样显然是非常危险的;而存放在WEB-INF下面,无法直接通过URL访问到相应页面,

必须经index.jsp进行中转,由index.jsp里面的jsp:forward page=""标签进行页面跳转,这样保证页面的代码安全。

       接着聊聊学到的四个标签:<c:out/>, <c:set/>,<sql:setDataSource/>,<sql:query/>,分别讲讲使用场景:<c:out/>输出标签,<c:set/>赋值标签:<c:setvar="salary"value="9000"/>,表示变量名是salary,值是9000;另外两个sql标签,下面附图说明:


<sql:setDataSource/>设置数据库源,表明是MySQL数据库,本地的soccer数据库;

<sql:query/>表明要执行的sql语句,并且将查询结果存储在result变量里面;

这里面可能会出现driver驱动找不到的报错:原因就是因为忘记引入mysql-connect.jar文件,下面附图:


将jar文件拷贝到lib目录即可识别

最后讲讲如何循环读取数据:

<c:forEach var="row" items="${result.rows}">

<tr>

<td><c:outvalue="${row.id}"/></td>

<td><c:outvalue="${row.name}"/></td>

<td><c:outvalue="${row.grade}"/></td>

</tr>

</c:forEach>


items:循环读取的数据,var:每次循环的变量名。有可能有些朋友发现<c:out/>无法使用,那肯定是因为在jsp页面顶部忘记写标签,下面补上标签:

<%@ tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>

<%@ tagliburi="http://java.sun.com/jsp/jstl/sql"prefix="sql"%>


     好了,今天分享到此结束,我接下来会继续学习JSP,然后和大家一同进步!

        大家可以关注我的微信公众号:icode,我会每天推送一篇原创文章,让大家都能有所收获!


         
0 0
原创粉丝点击