JSP与Servlet的相互通信方式(一)
JSP与Servlet之间的会话跟踪方式有多个,注定他们的通信方式有多种。
下面先来看看4中会话跟踪方式:
一:Session
传送端:
HttpSession session=request.getSession();
session.setAttribute("username","albert");
session.setAttribute("password","albert");
接收端:
String username=(String)session.getAtribute("username");
String password=(String)session.getAtribute("password");
二:cookie
Cookie cookie=new Cookie("username","albert");
cookie.setMaxAge(24*60*60*60);
//发送cookie到客户端
response.addCookie(cookie);
Cookie[] cookies=request.getCookies();
for(int i=0;i<cookies.length;i++){
Cookie temp=cookie[i];
String key=temp.getName();
String value=temp.getValue();
}
三:隐藏表单域
<input type="hidden" name="username" value="albert"/>
request.getParameter("username");
四:URL重写
客户端HTML:
<form name="login" action="/LoginServlet?username=albert&password=albert">
服务器端Servlet:
String username=request.getParameter("username");
String password=request.getParameter("password");
相关文档:
1.必须继承自HttpServlet
2.必须实现doGet()或者doPost()
3.必须在web.xml中配置Servlet
<servlet>
<servlet-name> </servlet-name>
<servlet-class> </servlet-class>
</servlet>
<servlet-mapping>
......
以前用WSAD wizard做的,都可以在JSP页面中解析到EL表达式,当然前提是JSP2.0的情况下。
今天遇到了一个莫名其妙的问题。刚下载Eclipse3.3+MyEclipse6.0体验的过程中,遇上了解析不到EL表达式的问题。经过好几个小时的琢磨终于发现了,给大家share一下:
问题就出在建Web Project的时候web.xml声明上。
web.xml ......
Jsp编码规范
1.1 文件后缀(File Suffixes)
文件类别 文件后缀
--------------------------------------
Java源文件 .java
Java字节码文件 .class
动态页面 .jsp
静态页面 .html
脚本文件 .js
1.2 常用文件名(Common ......
在访问JSP文件或者Servlet的时候,如果提示下载并保存,如下图所示:
同样的程序有的浏览器出错,有的浏览器不出错。错误的原因是设置MIME类型的代码有误。
如果是JSP文件,查看文件头:
<%@ page contentType="text/html;charset=gb2312"%>
如果是Servlet文件,查看:
response.setContentType("text/html;char ......
在不允许目录浏览的情况下 浏览器会先找到首页(默认为index.html /index.jsp...)
否则出错
因此 若首页被恶意更改 网站崩溃
解决方法:
更改默认启动页面:$tomcat/conf/web.xml最后位置
<welcome-file-list>
<welcome-file>index.html</welcome-file> ......