无需言 做自己 业 ,精于勤 荒于嬉.

JSP基础 03.@page指令

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

page指令共有以下12中:

1.autoFlush:可以设置为true或false,如果设置为true,当缓冲区满时,到客户端输出被刷新,如果设置为false,当缓冲区满时,将出现异常。表示缓冲区溢出。默认为true,

2.buffer:指定到客户端输出流的缓冲模式,如果none则表示不设置缓冲区;如果指定数值,那么输出的时候就必须使用不小于这个值的缓冲区进行缓冲。此属性要和autoFlush一起使用。默认不小于8K,根据不同的服务器可以设置。

3.contentType:定义JSP字符的编码和页面响应的MIME类型,如:contentType="text/html;charset=utf-8"

4.errorPage:定义此页面出错时要显示的页面,此属性要与isErrorPage一起使用。

5.extents:主要定义此页面产生的Servlet是从哪个父类扩展而来,例如extends="父类名称"。

6.import:此页面要导入哪几个包,和java一样。例如:import="java.IO.*"

7.info:此页面的信息,例如info="text info"

8.isErrorPage:可以设置true或false,表示此页面是否是处理出错的页面,如果是true,则errorPage指定的页面出错时才可跳转到此页面进行错误处理,如果设置成false,则无法处理。

9.isThreadSafe:可以设置为true或false,表示此页面是否是线程安全的,如果为true,表示一个JSP页面可以处理多个用户的请求,如果是false,则此页面一次只能处理一个用户请求。

10.language:定义脚本语言,参数只能说java,应为jsp只支持用java写啊。

11.pageEncoding:JSP页面的字符编码。

12.session:可以设置为true或false。是否开启session会话。


实例:

<%@ page language="java" contentType="text/html;" pageEncoding="utf-8" errorPage="error.html" isErrorPage="true" Encoding="UTF8"%>

<%@ page import = "java.sql.*"%>


比如可以设置mime类型,使页面变换显示形式实现下载为别的格式。

<%@page lanage="java" contentType="application/msword;charset=gbk"%>

<%

    response.setHeader("Content-Disposition","attachement;filename=test.doc");

%>


阅读全文 »

JSP基础 04.包含指令(两种包含形式静态包含/动态包含)

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

静态包含:

<%@ include file="header.jsp"%>


动态包含:不传参数写法

<jsp:include page="文件路径或|<%=表达式%>" flush="true|false"></jsp:include>

但是当然不传参数的时候尽量要这么写:

<% String str = "active.jsp"; %>

<jsp:include page="文件路径或|表达式(如:%<%=str>)" flush="true|false"/>


动态包含:传参数写法:

<jsp:include page="active.jsp" flush="true">

<jsp:param value="13" name="age"/>

<jsp:param value="<%=str%>" name="str"/>//也可以传递变量

</jsp:include>

包含页面接收参数:<%=request.getParameter("age")%>


两种包含文件类型的不同之处:

静态包含:是先提取内容,再和主文件一同编译,如果主文件中存在变量 String name,<%@ include file="包含文件.jsp"%>中也存在String name,那么程序会报错,提示变量名称重复!

动态包含:是各编译各的,包含文件内容编译了再提取出来,所以不会报错。

根据各方面而言我们选择尽量使用动态包含。


阅读全文 »

JSP基础 05.页面跳转指令<jsp:forward

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

不传参数

<jsp:forward page="test.jsp|<%=表达式%>"/>

传参数的

<jsp:forward page="static.jsp">

<jsp:param value="参数名称" name="内容"/>

</jsp:forward>

此跳转非javascript的页面跳转,它的url不变,但内容(运行)的却是跳转后的页面。也就是说把当前页面替换成了设置的页面。我们称之为服务器跳转。


阅读全文 »

JSP基础 06.JSP中九个内置对象

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

pageContent:javax.servlet.jsp.PageContext --JSP的页面容器

request:javax.servlet.http.HttpServletRequest --得到用户的请求

response:javax.servlet.http.HttpServletResponse --服务器向客户端的回应信息

session:javax.servlet.http.HttpSession --用来保存每一个用户的信息

application:javax.servlet.ServletContext --表示所有用户的共享信息

config:javax.servlet.ServletConfig --服务器配置,可以取得初始化参数

out:javax.servlet.jsp.JspWriter --页面输出

page:java.lang.Object --表示从该页面中表示出来的一个Servlet实例

exception:java.lang.Throwable --表示JSP页面所发生的异常,在错误页中才起到的作用。


阅读全文 »

JSP基础 07.Tomact6.0/7.0+JAVA6.0+JSTL1.2配置

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

JSTL1.1以后根本不需要配置web.xml也不用复制什么tId文件夹


1.1.2:

下载页:http://tomcat.apache.org/download-taglibs.cgi

下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.2.zip

解压后:将lib中的两个jar放入项目WEB-INF/lib/目录下就OK了!


1.2.1:

JSTL1.1以后jstl.jar和Standard.jar两个文件合并为一个了如:taglibs-standard-xxxx-1.2.1.jar

下载页:http://tomcat.apache.org/download-taglibs.cgi

下载地址:http://apache.fayea.com/tomcat/taglibs/taglibs-standard-1.2.1/taglibs-standard-jstlel-1.2.1.jar

配置:直接将下载的taglibs-standard-jstlel-1.2.1.jar复制到项目WEB-INF/lib/目录下就OK了!


【重点】重启Tomcat服务器,别忘了凡是项目功能配置,组件扩展等都一定要重启服务器的!


阅读全文 »

JSP基础 08.0 四种属性范围

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

1.pageContent 当前页面

2.request 当前页面及服务器跳转的页面

3.session 保存范围是当前用户,范围在该次打开的浏览器中本网站所有页面,浏览器关闭消失。

4.application 保存范围是服务器的所有用户都可同步获取。服务器重启消失


x.setAttribute("name","zhangSan");

x.getAttribute("name");


pageContent可以操作四种属性范围

比如说还可以将pageContent设置为request类型

pageContent.setAttribute("name","zhangSan",pageContent.REQUEST_SCOPE);


阅读全文 »

JSP基础 08.1 request对象|request.getParameter中文乱码解决

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

实例:

form.html内容:

<form action="request.jsp" method="post">

<input type="text" name="pname"/><input type="submit"/>

</form>

request.jsp内容:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%=request.getParameter("pname") %>//接收表单参数pname

当我们提交字母数字时正常,但是当我们提交中文时,却显示乱码!解决方法:

原因:自从Tomcat5.x开始,GET和POST方法提交的信息,Tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码。

方法一:(GET方法提交可能还是不能解决)

request.setCharacterEncoding("UTF-8");//设置接收的字符编码

【重点】但是记得必须将此代码放置到页面代码中任何request的上方,最好放到页面代码顶部,否则无效啊!

方法二:转换为字节数组:

<%=new String(request.getParameter("pname").getBytes("ISO-8859-1"),"UTF-8") %>

原因是表单提交时url默认是ISO-8859-1的字符编码提交方式,我们用字符数组以ISO-8859-1编码接收,然后输出为utf-8的字符串。【对get提交乱码很有效】


阅读全文 »

JSP基础 08.2 response对象

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

设置跳转

response.setHeader("refresh", "3;");//每3秒刷新一次

response.sendRedirect("static.html");//跳转到指定页面

response.setHeader("refresh", "3;URL=static.html");//3秒后跳转到指定页面

和html跳转一样<meta HTTP-EQUIV="refresh" content="3;URL=static.html">


设置cookie

Cookie c1= new Cookie("name","eniac");

c1.setMaxAge(3600);//设置有效期(秒)

response.addCookie(c1);

读取cookie

Cookie cookie[] = request.getCookies();

for(int i=0;i<cookie.length;i++){

<%=cookie[i].getName() %>--<%=cookie[i].getValue() %>

}



阅读全文 »

JSP基础 08.3 session对象

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

server.xml文件中,对当前虚拟目录/当前项目的session周期设置

<Context path="/JspRoot" docBase="D:AppServJspRoot" reloadable="true">

<Manager className="org.apache.catalina.session.PersistentManager" >

    debug=0

    saveOnRestart="true"

    maxActiveSession="-1"

    minIdleSwap="-1"

    maxIdleSwap="-1"

    maxIdleBackup="-1"

    <Store className="org.apache.catalina.session.FileStore" directory="../session" />

</Manager>

</Context>

saveOnRestart:(true/false)配置服务重启工程中对session的处理,若为true,则关闭前把有效的session保存,启动后重新载入。

maxActiveSession:活动状态Session的最大数,为-1时则不限制,否则Session Manager将会把超出的Session对象转移到Session Store中。

minIdleSwap:Session不活动的最短时间,超过该时间,Session Manager 可能会把该Session对象转移到Session Store中,单位为秒。

maxidleSwap:Session不活动的最长时间,超过该时间,Session Manager 将会把该Session对象转移到Session Store中,该Session将不在内存中。

maxidleBackup: Session不活动的最长时间,超过该时间,Session Manager 将会把该Session对象备份到Session Store中,但该Session对象依然存在内存中。

<Store>指定实现持久化的类和Session存放的文件位置,如该例子中指定的类是:org.apache.catalina.session.FileStore,而Session对象存放的目录则是tomcat根目录下的 session文件夹(当然自己创建)

在第四种配置中,配置完后可以写一个简单的jsp页面,在页面上显示本次用户访问的Session ID,然后重起tomcat,再刷新该页面,可以看到该Session Id不变,而在/session目录下自动生成一个以session id为名,以“session”为扩展名的文件。该Session的持久化配置成功。


阅读全文 »

JSP基础 08.4 application对象

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

阅读全文 »

JSP基础 11.smartUPload

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

阅读全文 »

JSP基础 12.0 Servlet简介

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

阅读全文 »

JSP基础 12.1第一个Servlet程序

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

项目目录下配置web.xml

 <servlet>

  <servlet-name>hello</servlet-name>//设一个servlet的名称

  <servlet-class>test.canquick.eniac.demo.ServletDemo</servlet-class>//对应的servlet.clss文件

 </servlet>

 <servlet-mapping>

  <servlet-name>hello</servlet-name>//设置对应配置好的servlet的名称

  <url-pattern>/helloServlet</url-pattern>//访问路径

  http://localhost:xx端口/helloServlet    就可以访问此servlet

 </servlet-mapping>


ServletDemo.java类:

package test.canquick.eniac.demo;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ServletDemo extends HttpServlet {

public void doGet(HttpServletRequest hsrq,HttpServletResponse hsrs) throws IOException{

hsrs.setCharacterEncoding("UTF-8");

PrintWriter out = hsrs.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">");

out.println("<title>123456</title>");

out.println("</head>");

out.println("<body><h1>d标s题d</h1></body>");

out.println("</html>");

out.close();

}

}



阅读全文 »

JSP基础 12.2 Servlet读取配置

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

阅读全文 »

JSP基础 12.3 Servlet取得内置对象-Session

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

package demo.canquick.eniac.servlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class HttpSessionServletDemo extends HttpServlet {

public void doGet(HttpServletRequest hsr,HttpServletResponse hsrs){

HttpSession hs = hsr.getSession();

System.out.println(hs.getId());

hs.setAttribute("username", "eniac");

System.out.println(hs.getAttribute("username"));

}

public void doPost(HttpServletRequest hsr,HttpServletResponse hsrs){

this.doGet(hsr, hsrs);

}

}

 

 <servlet>

  <servlet-name>servletSession</servlet-name>

  <servlet-class>demo.canquick.eniac.servlet.HttpSessionServletDemo</servlet-class>

 </servlet>

 <servlet-mapping>

  <servlet-name>servletSession</servlet-name>

  <url-pattern>/servletSession</url-pattern>

 </servlet-mapping>


阅读全文 »

JSP基础 12.4 Servlet取得内置对象-Application

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

package demo.canquick.eniac.servlet;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HttpApplicationServletDemo extends HttpServlet {

public void doGet(HttpServletRequest hsr,HttpServletResponse hsrs){

ServletContext sc = super.getServletContext();

System.out.println(sc.getRealPath("/"));

}

public void doPost(HttpServletRequest hsr,HttpServletResponse hsrs){

this.doGet(hsr, hsrs);

}

}


 <servlet>

  <servlet-name>HttpApplicationServletDemo</servlet-name>

  <servlet-class>demo.canquick.eniac.servlet.HttpApplicationServletDemo</servlet-class>

 </servlet>

 <servlet-mapping>

  <servlet-name>HttpApplicationServletDemo</servlet-name>

  <url-pattern>/HttpApplicationServletDemo</url-pattern>

 </servlet-mapping>

</web-app>


阅读全文 »

JSP基础 13.2表达式语言-内置对象

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>在此处插入标题</title>

</head>

<body>

<%

pageContext.setAttribute("info", "简单的表达式语句pageContext");

request.setAttribute("info", "简单的表达式语句request");

session.setAttribute("info", "简单的表达式语句session");

application.setAttribute("info", "简单的表达式语句application");

%>

<div>

<h3>${info}</h3>

<p>若不存在info属性默认逐级往下获取pageContext-》request-》session-》application</p>

</div>

<dl>

<dt>分别获得各种对象类型的属性</dt>

<dd>${pageScope.info}</dd>

<dd>${requestScope.info}</dd>

<dd>${sessionScope.info}</dd>

<dd>${applicationScope.info}</dd>

</dl>

<ul>

<li>IP:${pageContext.request.remoteAddr}</li>

<li>SID:${pageContext.session.id}</li>

</ul>

<ul>

<li>接收参数:<%=request.getParameter("ref") %></li>

<li>接收参数:${param.ref}</li>

</ul>

<hr/>

</body>

</html>


阅读全文 »

JSP基础 13.1表达式语言-集合操作

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<%@page import="java.util.*"%>

<html>

<head>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>在此处插入标题</title>

</head>

<body>

<%

 List list = new ArrayList();

 list.add("张三");

 list.add(14);

 list.add("www.zhangsan.com");

 list.add("zhangsan@163.com");

 request.setAttribute("listInfo", list);

%>

<h3>${listInfo[0]}</h3>

<h3>${listInfo[1]}</h3>

<h3>${listInfo[2]}</h3>

<h3>${listInfo[3]}</h3>

<h3>${listInfo[4]}</h3>

<h1>MVC:</h1>



</body>

</html>


阅读全文 »

JSP基础 16.0.0 Jstl主要标签分类

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

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

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

taglibs-standard-impl-1.2.1.jar放到/WEB-INFO/lib/下就可以了。(版本1.2以上)


当然如果不想用远程的标签库:http://java.sun.com/jsp/jstl/core;...

那么我们可以用本地的,把taglibs-standard-impl-1.2.1.jar解压后里面有xx.tId文件复制到/WEB-INFO/lib/下,

然后在web.xml文件中配置,例如:

 <jsp-config>//映射标签库文件

 <taglib>

 <taglib-uri>http://www.canquick.com/jstl/core</taglib-uri>//映射的虚拟访问地址

 <taglib-location>/WEB-INFO/lib/c.tid</taglib-location>//真实绝对路径

 </taglib>

 </jsp-config>

那么我们jsp中可以这样引入,实际上是本地的:

<%@ taglib uri="http://www.canquick.com/jstl/core" prefix="c" %>

阅读全文 »

JSP基础 16.1.0 Jstl核心标签库<c:

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

核心标签库中主要有:

<c:catch></c:catch>

<c:choose></c:choose>

<c:forEach></c:forEach>

<c:if test=""></c:if>

<c:import url=""></c:import>

<c:otherwise></c:otherwise>

<c:out value=""></c:out>

<c:param name=""></c:param>

<c:redirect></c:redirect>

<c:remove var=""/>

<c:set></c:set>

<c:url></c:url>

<c:when test=""></c:when>

阅读全文 »

全部博文(1589)
集速网 copyRight © 2015-2025 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。