JSP中嵌⼊java代码⽅式以及指令
JSP中嵌⼊java代码的三种⽅式:
(1)声明变量或⽅法 : <%! 声明; %> :慎重使⽤,因为此⽅法定义的是全局变量
(2)java⽚段(scriptlet): <% java代码; %>
(3)表达式:⽤于输出表达式的值到浏览器,<%=表达式 %> 在表达式中不能加分号(;)
JSP页⾯的指令
<%@ page %> //这个⼀般是写在最顶上的⽐如导⼊等
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>指令的作⽤:设置JSP页⾯的属性和特征
常⽤指令:
(1)<%@ page %> 或<jsp:directive.page > :常⽤属性:language=""contentType="text/html;charset=UTF-8"
pageEncoding="" import="com.inspur.Dpet"
isErrorPage="true|false" 指定当前页⾯是否可以作为错误页
errorPage="error.jsp" (error.jsp页⾯中的isErrorPage="true")
(2)<%@ include file="url"%> 或<jsp:directive.include >
【注意】静态包含,在编译阶段把其他⽂件包含进来⼀起编译⽣成字节码⽂件
问题:(1).被包含的⽂件中不能包含<html></html><body></body>;
(2).file属性赋值不能⽤表达式,不能带参数
HTML中form、reset和submit标签的⽤法:
<form name=”loginForm” method=”post/get” action=”…” onsubmit=”return function()”>
//action的内容是Servlet Mapping当中的URL
<input type=”reset” id=”reset” name=”reset” value=”重置”/>
<input type=”submit” id=”submit” name=”submit” value=”登陆”/>
</form>
form表单的method中post和get的区别:
Post提交的数据更具隐蔽性,适合提交⼤批量的数据
⽽get提交的数据隐蔽性不好,会在地址栏内显⽰出来⽽且地址栏最多允许255个字符
上述这种通过get传输数据的⽅法也可以通过超链接实现:
<a href="user?username=admin&password=123&submit=登陆"></a>
效果与get⽅法⼀样,⽽且⽤超链接提交的数据也可以⽤String userrname = Parameter("username"); 得到数据,其中⽅法的参数是数据名称即等号前的,值是等号后的。
也可以是:location.href="user?action=del&uid="+uid;
或:place(""user?action=del&uid="+uid");
jsp页面输出的三种方式Location.href 等同于location.assign。(怎么⽤?????????)
当使⽤replace的时候请求的地址不会放到list当中去?????什么意思??
Form中的action的值应是l中的url-pattern的值:
Web容器在收到这个值后会解析这个值,然后拿这个值到l中的url-pattern去匹配,直到到对应的Servlet类,之后通过反射机制⽣成Servlet实例,然后到Servlet中的service()⽅法中去,然后根据method请求的是post还是get调⽤相应的doPost()和doGet()⽅法。
如何调⽤jsp中的request和response对象:
request和response对象来源:来⾃doGet(HttpServletRequest request, HttpServletResponse response)
在jsp中可以直接⽤,⽤法如下:
request常⽤的⽅法有两个即:
request.setAttibute(“key”,value)/Attribute(“key”)
/
/⼀般在Servlet中⽤setAttribute()
//⼀般在jsp中⽤getAttribute()
getAttribuet()得到的是⼀个对象即Object类型,⽤时需要进⾏强制类型转换
request.setCharacterEncoding("UTF-8");
String username = Parameter("username");
String password = Parameter("password");
session对象来源:在doGet()中申明的HttpSession session = Session(true); session:sessioin.setAttribute("key",value);
//⼀般在Servlet中⽤setAttribute()
(Attribute("key");
//⼀般在jsp中⽤getAttribute()
Servlet中的RequestDispatcher对象:
RequestDispatcher rd = RequestDispatcher(target);
rd.forward(request,response)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论