JSP基础

来源:互联网 发布:js开源特效 编辑:程序博客网 时间:2024/04/28 00:09
EL表达式
${表达式}
.属性
[]属性,下标,key
EL能访问作用域中的数据
${xxxScope.name}
还能访问参数数据(form,或url传递过来的)
${param.name} ${paramValues.name}

访问作用域数据时,前面的Scope范围不写,默认从
page >request>session >application

通用标签
<c:out value="EL表达式" default ="默认值"/> 需要设置默认值用,平时用EL表达式
<c:set var = "name" value = "value" scope ="作用域">
<c:remove var ="" scope="作用域"/>

<c:forEach var="1" begin="1" end="100" step="5">
${i}
</c:forEach>

JDBC步骤:
1驱动2连接3Statement4 sql语句5 结果6关闭
静态sql
Statement  stmt = conn.createStatement();
stmt.executeQuery(sql)

动态sql:性能好,安全,可读性好
PreparedStatement ps = conn.prepareStatement(sql);
ps.setXXX(index,value);
ps.executeQuery();

3执行存储过程
String sql="{call proc_name(?,?)}";
CallableStatement cs = conn.prepareCall(sql);
cs.registerOutParameter(2,Type.Integer);
cs.execute();
int i = cs.getXX(2);

servlet:

A.jsp--servlet--b.jsp
处理请求数据,跳转到下一个页面
servlet作用相当于一个控制器,控制数据的流转,控制页面的跳转


url写法
<form action""> 如果写成/开头,表示从服务器ip地址后的直接路径
如:localhost:8080/AddNewsServlet
如果开头没有/,表示从当前路径去访问
例如:当前路径为:http://localhost:8080/news/jsp/admin/news.jsp
则action="/AddNewsServlet"请求地址为http://localhost:8080/news/jsp/admin/AddNewsServlet

正确写法:action="<%=request.getContextPath()%>/AddnewsServlet"

servlet里:
重定向时:
1.如果写成/开头,表示从服务器ip地址后的直接路径

2.如果开头没有/,表示从当前路径去访问

3.如果当前Servletd url不在醒目根目录下,那么跳转到jsp时.就需要在url前也加上 request.getContextPath()

转方时:
1.如果开头写/,表示从项目根路径下访问
2如果开头没有/,从当前路径
3.转发是不需要加项目根路径,即不需要加request.getContextPath()

因为转发时url不会发生变化,可能导致资源相对路径错误,解决方法:让当前jsp中所有资源路径,都已项目根路径为起点

<<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<base href="<%=basePath%>">在<head>的第一句写 作用是从项目根目录查找

0 0
原创粉丝点击