JAVA 声明及语句
标签 |
意义 |
<%! %> |
声明:变量、方法、类 |
<% %> |
程序块 |
<%= %> |
输出表达式,相当于out.print() |
<%@指令 |
JSP指令 |
JSP指令标签
page 定义JSP的各种属性
<%@page key="value" key="value"%>
- language 设置语言 默认为JAVA
- import 导入JAVA要用的包
- pageEncoding 导入编码规范
- contentType 默认为text/html
- errorPage 当发生错误时候重定向
- isErrorPage 表示JSP页面是否为处理错误界面
- session 指定JSP是否使用Session回话 true or false
include 指令
<%include file="relativeURL"%>
用于添加静态文件(不能包含<%=和%>表达式的文件)
taglib 指令
在status中会涉及到
JSP 动作标签
例子 |
注意点或含义 |
<jsp:include page="relativeURL" flush="true"> |
向一个Servlet提出请求,并将结果包含进去 |
<jsp:forward page="url|admin.jsp"> |
重定向 |
<jsp:param> name="" value="" |
一般和其他jsp指令配合使用 |
<jsp:useBean id = "" class = "" scope = ""> |
id 为bean在内存中的表示 |
<jsp:setProperty name="" property="" name=""> |
name为bean的ID,property为key |
<jsp:getProperty name="" property="" > |
property为key |
需要注意的是<jsp:include >
和 <%@include>
的区别
<jsp: include page = "" flush = "true">
<jsp:param name = "key" value = "value"/> #传递参数
</jsp:include>
JavaBean 的使用
# JSP
<jsp:useBean id = "test" scope = "page" class = "test.TestBean"/>
<%
test.setString("DLUT");
String str = test.getStringValue();
out.print(str);
%>
// TestBean
public class TestBean{
private String str = null;
public TestBean(){};
public void setString(String value){
str = value;
}
public String getStringValue(){ return str; }
}
如果系统中已经存在id和scope均一致的Bean对象,将直接将该对象返回。
可以使用<jsp:getProperty><jsp:setProperty>设置Bean类的属性
JSP 内置对象
对象 |
用处 |
page |
JSP页面本身,只是this的一个代名词,对JSP页面创建者通常不可见 |
config |
存放Servlet初始化信息 |
out |
向html中输出内容 |
response |
返回数据,重定向,设置Cookie |
request |
对客户请求的数据进行访问 |
Session |
服务器会为每个用户创建Session,Session.setAttribute(String,Object)之类方法 |
application |
所有用户都公用一个application |
pageContext |
封装了一些常用的方法 |
Config
method |
Usage |
getInitParameter(name) |
取得指定名字的Servlet初始化参数 |
getServletContext() |
取得ServletContext上下文 |
getServletName() |
取得生成的Servlet名字 |
Out
Out.println()
response
method |
Usage |
addCookie(Cookie cookie) |
添加一个Cookie对象,用于保存用户信息 |
setRedirect(url) |
重定向 |
void setHeader(String key,String value) |
|
vlid addHeader(String key,String value) |
|
Collection getHeaderNames() |
|
String getHeader(String key) |
|
Collection getHeaders(String key) |
|
void setContentType(String type) |
|
Request
method |
usage |
getCookie() |
返回客户端的Cookie对象,结果是一个数组 |
getMethod() |
返回get/post/put.... |
getSession(Boolean IsCreated) |
返回HttpSession对象,如果没有切IsCreated为true,创建 |
getRequestURI() |
返回请求路径 |
getParameter("name") |
获取1个name参数对应的值 |
getAllParameter("name") |
获取所有name对应的值,返回[]String |
Enumeration getParameterNames() |
|
Object getAttribute(String key) |
返回Map映射中key对应的值 |
void setAttribute(String key,Object value) |
|
Enumeration getAttributeNames() |
|
String getRemoteAddr |
获取客户端的IP地址 |
String getRemoteHost |
|
String getRemoteUser |
|
String getLocalName |
|
String getLocalAddr |
|
String getLocalPort |
|
Session
method |
usage |
getAttribute(String name) |
|
getCreationTime() |
|
getId() |
|
setAttribute(String name, Object value) |
|
invilidate() |
注销 |
application
method |
|
String getInitParameter(String name) |
for read web.xml |
balabalAttribute() |
Attribute about |
void log(String msg) |
|
void log(Stirng msg,Throwable th) |
print msg in log file |
PageContext
method |
usage |
getAttribute("name",PageContext.Session_SCOPE) |
|
forward(URL) |
|
findAttribute() |
|
setAttribute() |
|
removeAttribute() |
|
UseBean
- 创建TestBean类
<jsp:useBean id="test" class="package.TestBean" scope="page|request|session|application">
<jsp:setProperty name="test" property="message" value="message blibli">
<jsp:getProperty name="test" paoperty="message">
Tag 自定义标签
interface Tag{
void setPageContext(PageContext pc);
int doEndTag() throws JspException;
// EVAL_PAGE 默认返回
// SKIP_PAGE 相当于service函数结束
int doStartTag() throws JspException
// EVAL_BODY_INCLUDE // 解析body内容,默认返回
// SkIP_BODY 不执行标签体
}
RequestDispatcher Interface
ServletRequest.getRequestDispatcher("URL").forword(request,reponse)
Reponse
reponse.setRedirect("/UserManager?uname="+username);
web.xml
<?xml version="1.0" enCoding="UTF-8"?>
<web-app>
<Servlet>
<servlet-name>GG</servlet-name>
<servlet-class>Package.ClassName</class-name>
<init-param>
<param-name>port</param-name>
<param-value>8081</param-value>
</init-params>
</servlet>
<servlet-mapping>
<servlet-name>GG</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
<servlet-mapping>
</web-app>
invalidata()
网友评论