1.尽量用<jsp:include>标签把相同部分放在一起,以后更改的时候方便。
2.request.getAttribute()/.getParameter()中的参数如果之前没有内容,则得到的是null。
3.表单提交的信息不能换行,下面是解决办法。同理,""变为 就能处理空格问题。
//换行的处理,就是将获得的文本框的换行标记转化为相应的HTML标识,即<br>,下面我以变量description来说明,
//--------------程序开始
//接收description从前边提交的值
String description.getParameter("Content");
//----------用循环来转换,用到的JAVA函数有indexOf和substring,对于这两个函数不清楚的请查阅相关资料
//转换换行符
\\r\\n成为HTML换行标记<BR>
while(description.indexOf("\r\n")>=0 || description.indexOf(" ")>=0) //判断Content中是否含有换行标记"\r\n"和空格标记" "
{
int i=description.indexOf("\r\n");//记录换行标记的位置
if(i>=0)
{
=description.substring(0,i)+"<br>"+description.substring(i+2);//替换
}
int j = description.indexOf(" ");
(j >= 0)
{
description=description.substring(0,j)+" "+description.substring(j+1);//替换
}
}
4.对于不支持cookies的浏览器,要用encodeURL或encodeRedirectedURL()来支持URL重写。
比如:<a href="answer.jsp?answer=haha">answer</a>要改为
<% String code = response.encodeURL("answer.jsp?answer=haha"); %>
<a href="answer.jsp?answer=haha">answer</a>
5.JSP实现浏览器关闭cookies情况下的会话管理
通常,会话管理是通过服务器将SessionID作为一个cookie存储在用户的Web浏览器中来唯一标识每个用户会话。如果浏览器不支持cookies,或者将浏览器设置为不接受cookies,我们可以通过URL重写来实现会话管理。
实质上URL重写是通过向URL连接添加参数,并把sessionID作为值包含在连接中。然而,为使这生效,你需要为你的servlet响应部分的每个连接添加sessionID。
把sessionID加到一个连接可以使用一对方法来简化:response.encodeURL()使URL包含sessionID,如果你需要使用重定向,可以使用response.encodeRedirectURL()来对URL进行编码。
encodeURL()及encodeRedirectedURL()方法首先判断cookies是否被浏览器支持;如果支持,则参数URL被原样返回,sessionID将通过cookies来维持。
来看下面的例子,两个JSP文件:hello1.jsp和hello2.jsp,及它们之间的影响。我们在hello1.jsp中简单的创建一个会话,并在session中存储一个对象实例。接着用户可以点击页面的连接到达hello2.jsp。在hello2.jsp中,我们从session中获取原先放置的对象并显示它的内容。注意,我们在hello1.jsp中调用了encodeURL()方法来获得hello2.jsp的链接,使得在浏览器停用cookies的情况下,sessionID自动添加到URL,hello2.jsp仍能得到session对象。
首先在启用cookies的情况下运行。然后关闭对cookie的支持,重启浏览器,再运行一次。每次你都可以看到会话管理在起作用,并能在页之间传递信息。
注意,如果你想让这个例子能在关闭了cookies的浏览器中工作,你的JSP引擎必须支持URL重写。
hello1.jsp
<%
Integer num=new Integer(100);
session.putValue("num",num);
String url=response.encodeURL("hello2.jsp");
%>
<a href='<%=url%>'>hello2.jsp</a>
hello2.jsp
<%
Integer i=(Integer)session.getValue("num");
out.println("Numvalueinsessionis"+i.intValue());
%>
6、首页如何写,例index.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%
response.sendRedirect("home.do");//表示直接转到action
%>
<!--
web.xml中要:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
因为web.xml不能用***.do形式,所以要新建一个index.jsp来转到想去的action。
-->
7、
<%@ page contentType="text/html;charset=UTF-8"%>定义了jsp字符和页面响应的MIME类型,即生成的servlet如何相应http请求,此设置表示返回UTF-8编码的HTML文件。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>定义了脚本语言只能是java和jsp的页面的字符编码,即定义了脚本语言的种类和jsp页面的编码方式。
posted on 2006-07-02 11:25
保尔任 阅读(347)
评论(0) 编辑 收藏