servlet注意事项

1:乱码

没有设置charset=gbk文本会显示乱码,所以要加上,但是charset = gbk,如果在等好旁边有空格,则无法识别该语句,仍然出现乱码。所以得出结论:小心空白符。

response.setContentType("text/html;charset = gbk");

2:用response.sendRedirect(String)来跳转页面和传递参数

sendRedirect的参数是一个字符串。假设已拥有一个String u = "123",要把这个String 传递给一个Wel的servlet,

那么语句是sendRedirect("Wel?uvalue="+u); //如果要传递多个值,那么它们之间要用&号隔开。(“wel?uvalue="+u+"&u2value="+u2)

在Wel里面如何得到这个值呢?用request.getParameter("uvalue")

很遗憾,sendRedirect只能传递字符串,而不能传递对象。

3:关于getSession()参数的true,false的区别。

getSession方法返回与当前请求相关的httpSession对象.
其根据传递的参数来决定是否创建新的httpSession对象.
参数为true,则在相关的httpSession对象不存在时创建并返回一个新的httpSession对象,否则不创建新的httpSession对象,而是返回null

最好用true,不然对httpsession调用函数时,有可能会出现nullpointerException.调用空指针

4:链接数据库的具体参见我日志中的java链接数据库

5:在servlet中引用图片。

很简单,在工程目录下创建一个imgs文件夹,里面放图片1.gpg

out.println("<img  src='./imgs/1.jpg'>")

或者

out.println("<img  src='imgs/1.jpg'>")

注意,这里imgs文件夹要放在tomcat/webapps/工程目录/

而不是在workspace里面的工程目录下。(应该是可以调整的,具体就没调试过)

可以用getContextPath获取目录

另外
用Servlet插入图片eg:

pw.println("<img src='"+req.getContextPath()+"/images/bf1.jpg' width='200' hight='200'>");

用jsp插入图片eg:

  <img src="./images/logo4.gif">

6:网页生成了 过多的重定向

有可能页面之间的跳转形成了循环。

7:IllegalStateException:response
already commited

在response.sendRedirect()方法后加return语句即可,如下:
                       response.sendRedirect("login.jsp");
                       return;

否则有可能运行下一个sendRedirect();

8:关于
hot code replace fail 问题

1.小规模的修改,没有改变类的块结构,不用重启服务器,也可以立即生效.(前提是同步发布,即要勾上菜单

project->build automatically)

2.修改了类的结构(如增加或删除类的方法,字段).如果是这种情况,myeclipse会有"hot code replace fail"的提

示,和失败的原因的说明(如add method not implemented, scheme change not implemented 等),并且提

示重新启动服务器.这种情况要重启服务器才可以生效.

3.还有一种情况,对java文件进行小的修改(如 代码中不重要的地方加一个空格 )然后保存,myeclipse也会提示

hot code replace fail.这种情况遇到的几率很小. 这种情况的很可能是服务器(如tomcat)下面发布了多个web

应用程序,而所修改的类的名字在多个web应用中存在(如 有app1和app2两个应用, app1中有个类

com.company.LoginAction, app2中也有个类com.company.LoginAction. 修改的是app1中的LoginAction

).

个人猜测:jvm在进行hot code replace的之前,将所修改的类(app1中的LoginAction)与另外一个应用中的同名

类(app2中的LoginAction)对比,发现两者有结构上的差异,于是认为该类的改变很大,不能够进行hot code

replace.

有种简单的方法可以验证,是否属于第三种情况.只部署一个工程在服务器下,启动后,再修改java类,如果是小的修

改,这个时候myeclipse就不会再有hot code replace fail 的提示了.

时间: 2025-01-27 02:09:26

servlet注意事项的相关文章

servlet 文件下载及注意事项

servlet|下载     首先转贴注意事项: 在论坛里,已经有先进说明过如何在 Servlet / JSP 中,利用 HTTP Protocol 实作动态的档案下载服务.这一项功能个人在系统开发中,用的很多,也遇到过几个问题,想将这些经验分享给大家,希望对大家能有帮助. 1. MS IE 版本的问题   if (request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1) {     // MS IE5.5

J2ME多人游戏注意事项(笔记类)

笔记 一 MIDP通讯技术 1. HTTP: 当网络中的真实电话配置HTTP流MIDlet的时候,不要尝试一次只发送一小段数据:在发完全部数据之前,不会收到什么东西. 当从服务器发送HTTP响应要被延迟到某个事件发生,移动网络中开发连接可能很昂贵,通常会因超时而被中端,这一情况比在互联网上更容易发生. 移动电话通常没有资源去支持多重开放的HTTP连接.在数据结构和数据缓存方面的开销非常大. HTTP 方法 GET:用于向服务器请求一个静态资源,重复一个GET请求将得到相同的资源响应.GET请求仅

JSP+JAVABEAN+SERVLET开发环境配置指南

js|servlet *************************************本贴从网上搜索得来,是我初学JSP找到的最好的一篇配置指南了.原作者已无法确定,不过在此也略表感谢.当初,我遍历TOMCAT英文文档依然无法找到SERVLET的安装配置的方法(本人E文水平有限),后来看到这贴子一时豁然开朗.值得推介.************************************* j2sdk1.5下载地址:http://java.sun.comtomcat5.5下载地址:h

Servlet的API(二)

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51249452 目录(?)[+]         web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象和代表响应的response对象.request和response对象既然代表请求和响应,那我们获取客户机提交过来的数据,只需要找request对象即可,要向客户机输出数据,只需要找response对象即可.这一

tomcat-用JSP页面上传文件转到servlet处理时提示requested resource is not available

问题描述 用JSP页面上传文件转到servlet处理时提示requested resource is not available 我是利用JSP和servlet上传图像,自己写代码和从网上找的代码都是运行到点击上传按钮之后就提示HTTP Status 404(The requested resource is not available),我查看了文件位置.名称都没有错误,另外Tomcat也配置了,否则工程前面的页面无法显示,web.xml里面也配置了servlet的相关事项.一直找不到原因.w

javaweb Servlet开发总结(二)_java

一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: <servlet> <servlet-name>ServletConfigDemo1</servlet-name> <servlet-class>gacl.servlet.study.ServletConfigDemo1</servl

服务器-如图 servlet无法调用dao中的add方法 求解

问题描述 如图 servlet无法调用dao中的add方法 求解 报空指针异常 解决方案 这个可以去百度或是谷歌 解决方案二: 关键不是你报异常.而是报什么异常.单看这些代码没用.把异常也贴出来?数据库没开启?对象插入报错?进没有进入addUser方法内部?这才是关键 解决方案三: 那肯定是add方法有问题,,具体要看抛的什么异常 解决方案四: 你得把异常的图发一下吧. 解决方案五: jQuery调用Servlet方法及注意事项

JSP+Servlet+JavaBean实现登录网页实例详解_JSP编程

本文实例讲述了JSP+Servlet+JavaBean实现登录网页的方法.分享给大家供大家参考.具体如下: 这里涉及到四个文件: 1. 登录页面:login.html 2. 登录成功欢迎页面:login_success.jsp 3. 登录失败页面:login_failure.jsp 4. Servlet处理文件:LoginServlet.java 其实还涉及到一个文件:web.xml,这个后面再说: 下面分别介绍这几个文件: 1. 登录页面:login.html <!-- 该Login页面是一个

Servlet开发技术,创建,以及Servlet的配置,web.xml的配置

直接上图,不废话!!! 第一:首先在Eclipse的包资源管理器中,单机鼠标右键,在弹出的快捷键菜单中选择"新建"/Servlet命令,在弹出的对话框中输入新建的Servlet所在的包和类名,然后单击下一步,   我选择默认,Next   依旧默认,Next 注意事项,在创建web的工程的时候需要注意的是如下图,选择上web.xml这个按钮,因为Servlet需要配置一下web.xml这个文件,web.xml在web-inf这个文件下面 上图第二个箭头前面有个方括号,勾选上就可以自动创