如何把servlet前端页面控制台打印数据打印到页面

servlet和jsp精要-打印
API参考Sevletjavax.sevlet.Sevlet定义所有sevlet都必须实现的方法。sevlet是运行在We服务器中的小型Java程序。sevlet通常通过HTTP(超文本传输协议)接收和响应来自We客户端的请求。要实现此接口,可以编写一个扩展javax.sevlet.GeneicSevlet的一般sevlet,或者编写一个扩展javax.sevlet.http.HttpSevlet的HTTPsevlet。此接口定义了初始化sevlet的方法、为请求提供服务的方法和从服务器移除sevlet的方法。这些方法称为生命周期方法,它们是按以下顺序调用的:1.构造sevlet,然后使用init方法将其初始化;2.处理来自客户端的对sevice方法的所有调用;3.从服务中取出sevlet,然后使用destoy方法销毁它,最后进行垃圾回收并终止它。除了生命周期方法之外,此接口还提供了getSevletConfig方法和getSevletInfo方法,sevlet可使用前一种方法获得任何启动信息,而后一种方法允许sevlet返回有关其自身的基本信息,比如作者、版本和版权。pulicintefaceSevlet{pulicvoidinit(SevletConfigconfig)thowsSevletE由sevlet容器调用,指示将该sevlet放入服务。sevlet容器仅在实例化sevlet之后调用init方法一次。在sevlet可以接收任何请求之前,init方法必须成功完成。sevlet容器无法将sevlet放入服务,如果init方法:抛出SevletException;未在We服务器定义的时间段内返回。pulicvoidsevice(SevletRequesteq,SevletResponsees)thowsSevletException,IOE由sevlet容器调用,以允许sevlet响应某个请求。此方法仅在sevlet的init()方法成功完成之后调用。应该为抛出或发送错误的sevlet设置响应的状态代码。sevlet通常运行在可同时处理多个请求的多线程sevlet容器中。开发人员必须知道要同步对所有共享资源(比如文件、网络连接以及sevlet的类和实例变量)的访问。pulicvoiddestoy();由sevlet容器调用,指示将从服务中取出该sevlet。此方法仅在sevlet的sevice方法已退出或者在过了超时期之后调用一次。在调用此方法之后,sevlet容器不会再对此sevlet调用sevice方法。此方法为sevlet提供了一个清除持有的所有资源(比如内存、文件句柄和线程)的机会,并确保任何持久状态都与内存中该sevlet的当前状态保持同步。pulicSevletConfiggetSevletConfig();返回SevletConfig对象,该对象包含此sevlet的初始化和启动参数。返回的SevletConfig对象是传递给init方法的对象。此接口的实现负责存储SevletConfig对象,以便此方法可以返回该对象。实现此接口的GeneicSevlet类已经这样做了。pulicStinggetSevletInfo();返回有关sevlet的信息,比如作者、版本和版权。此方法返回的字符串应该是纯文本,不应该是任何种类的标记(比如HTML、XML,等等)。}GeneicSevletjavax.sevlet.GeneicSevlet定义一般的、与协议无关的sevlet。要编写用于We上的HTTPsevlet,请改为扩展javax.sevlet.http.HttpSevlet。GeneicSevlet实现Sevlet和SevletConfig接口。sevlet可以直接扩展GeneicSevlet,尽管扩展特定于协议的子类(比如HttpSevlet)更为常见。GeneicSevlet使编写sevlet变得更容易。它提供生命周期方法init和destoy的简单版本,以及SevletConfig接口中的方法的简单版本。GeneicSevlet还实现log方法,在SevletContext接口中对此进行了声明。要编写一般的sevlet,只需重写抽象sevice方法即可。pulicastactclassGeneicSevletimplementsSevlet,SevletConfig,java.io.Seializale{pivatetansientSevletCpulicGeneicSevlet(){}不执行任何操作。所有sevlet初始化都由init方法中的一个方法来完成。pulicvoidinit(SevletConfigconfig)thowsSevletE由sevlet容器调用,指示将放入服务中的sevlet。此实现存储它从sevlet容器中获得的SevletConfig对象,以便将来使用。在重写方法的这种形式时,调用supe.init(config)。pulicvoidinit()thowsSevletE可重写的便捷方法,这样就不必调用supe.init(config)。不用重写#init(SevletConfig),只需重写此方法即可,它由GeneicSevlet.init(SevletConfigconfig)调用。仍然可以通过#getSevletConfig获取SevletConfig对象。pulicastactvoidsevice(SevletRequesteq,SevletResponsees)由sevlet容器调用,以允许sevlet响应某个请求。此方法已声明为抽象方法,因此子类(比如HttpSevlet)必须重写它。thowsSevletException,IOEpulicvoiddestoy(){}由sevlet容器调用,指示将从服务中取出的sevlet。pulicStinggetInitPaamete(Stingname);返回包含指定初始化参数的值的Sting,如果参数不存在,则返回null。提供此方法是为了方便使用。该方法从sevlet的SevletConfig对象获取指定参数的值。pulicEnumeationStinggetInitPaameteNames();以Sting对象的Enumeation的形式返回sevlet的初始化参数的名称,如果sevlet没有初始化参数,则返回一个空的Enumeation。pulicSevletConfiggetSevletConfig();返回此sevlet的SevletConfig对象。pulicSevletContextgetSevletContext();返回对此sevlet在其中运行的SevletContext的引用。该方法从sevlet的SevletConfig对象获取上下文。pulicStinggetSevletInfo();返回有关sevlet的信息,比如作者、版本和版权。默认情况下,此方法返回一个空字符串。重写此方法使其返回有意义的值。pulicvoidlog(Stingmsg);将前置有sevlet名称的指定消息写入sevlet日志文件。pulicStinggetSevletName();返回此sevlet实例的名称。}HttpSevletjavax.sevlet.http.HttpSevlet供将要被子类化以创建适用于We站点的HTTPsevlet的抽象类。HttpSevlet的子类至少必须重写一个方法,该方法通常是以下这些方法之一:doGet,如果sevlet支持HTTPGET请
& 果果文库所有资源均来源于互联网,仅供网友学习交流,若侵犯了您的权益,请联系我们予以删除。
2967&&人浏览
7924&&人浏览
5343&&人浏览
15766&&人浏览
1332&&人浏览
3156&&人浏览
16206&&人浏览
13504&&人浏览
2784&&人浏览
11491&&人浏览
16710&&人浏览
6511&&人浏览
6234&&人浏览
11224&&人浏览
2858&&人浏览
本文标题:servlet和jsp精要-打印 链接地址:
copyright@ 2013- Inc. All Rights Reserved 果果文库 版权所有 联系站长: ; 经营许可证编号:浙ICP备号2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。用户名:laokaddk
文章数:983
评论数:108
访问量:2679702
注册日期:
阅读量:1297
阅读量:3317
阅读量:580608
阅读量:462857
51CTO推荐博文
直接使用System.out.println()或者System.err.println() 就行protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { & & & & &System.out.println("现在的时间是:"+new Date()); & & & & &response.setContentType("text/charset=UTF-8"); & & & & &response.setCharacterEncoding("UTF-8"); & & & & &PrintWriter out = response.getWriter(); & & & & &String now = "现在的时间是:"; & & & & &now += new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒E").format(new Date()); & & & & &System.out.println(now);
& & & &out.println(now); & //返回给客户端,println长的一样.
& & & &out.flush(); & & &}
了这篇文章
类别:┆阅读(0)┆评论(0)查看:20320|回复:13
写啦一个留言板的工程,html文件用IE打开显示的是CSS中居中的样式还有其他一些样式。但是访问servlet时显示的不居中,而且和css中定义的样式有很大差别。怎么才能在servlet中原样输出HTML 文件。附有截图
00:05, 下载次数: 324
助理工程师
引用:原帖由 zimengling 于
00:05 发表
写啦一个留言板的工程,html文件用IE打开显示的是CSS中居中的样式还有其他一些样式。但是访问servlet时显示的不居中,而且和css中定义的样式有很大差别。怎么才能在servlet中原样输出HTML 文件。附有截图 ... 贴一下你实现的部分代码,谢谢
看你描述说的 原样输出 应是HTML格式;
Servlet是无法处理CSS的,这些都是由浏览器处理的,所以你需要指定正确的CSS文件的路径;但相对路径在Servlet中的路径和HTML中的路径解析是不同的:
Servlet是基于Web App(Web应用)根路径;
HTML是基于Web Server(Web 服务器)根路径;
所以你在Servlet响应输出时,建议用绝对路径指出CSS文件位置。
引用:原帖由 jinhuer168 于
09:04 发表
贴一下你实现的部分代码,谢谢 好的!我发点看看
引用:原帖由 lxbccsu 于
11:07 发表
看你描述说的 原样输出 应是HTML格式;
Servlet是无法处理CSS的,这些都是由浏览器处理的,所以你需要指定正确的CSS文件的路径;但相对路径在Servlet中的路径和HTML中的路径解析是不同的:
Servlet是基于Web App(Web应用)根路 ... 谢谢啦啊!但是在Servlet中显示时,CSS样式中的其他标签经过我修改都可以啦。但还是不能居中。
import java.io.IOE
import java.io.PrintW
import java.util.L
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import com.yinhe.yufei.DTO;
import com.yinhe.yufei.MessageB
public class ServletClass extends HttpServlet
protected void doGet(HttpServletRequest request , HttpServletResponse response)
&&this.doPost(request , response);
protected void doPost(HttpServletRequest request , HttpServletResponse response)
&&int i = 1;
& &request.setCharacterEncoding(&utf-8&);
& &response.setContentType(&text/charset=utf-8&);
& &PrintWriter out = response.getWriter();
& &MessageBoard mb = new MessageBoard();
& &out.println(&&html&&);
& &out.println(&&head&&);
& &out.println(&&title&留言板工程&/title&&);
& &out.println(& &meta http-equiv='keywords' content='keyword1,keyword2,keyword3'&&);
& &out.println(&&meta http-equiv='description' content='this is my page'&&);
& &out.println(&&meta http-equiv='content-type' content='text/ charset=UTF-8'&&);
& &out.println(&&link rel='stylesheet' type='text/css' href='css/index.css'&&);
& &out.println(& &/head&&);
& &out.println(&&body &&);
& &out.println(&&div id='logo'&留言板&/div&&);
& &out.println(&&div id='main'&&);
& &List&DTO& list = mb.Display();
& &for(DTO dto : list)
& & out.println(&&div id='msg'&&);
& & out.println(&&div class='first'&&);
& & out.println(&&div class='floor'&第&+(i++)+&楼&/div&&);
& & out.println(&&div class='name'&&+dto.getUsername()+&&/div&&);
& & out.println(&&/div&&);
& & out.println(&&div id='content'&&+dto.getContent()+&&/div&&);
& & out.println(&&div class='first'&&);
& & out.println(&&div class='floor'&&+dto.getPubtime()+&&/div&&);
& & out.println(&&div class='name'&&+dto.getIp()+&&/div&&);
& & out.println(&&/div&&);
& & out.println(&&/div&&);
& &out.println(&&div id='form'&&);
& &out.println(&&form action='addmsg' method='post'&&);
& &out.println(&&div class='username'&&input type='text' name='username'&用户名&/div&&br/&&);
& &out.println(&&div class='p'&请输入留言&/div&&br&&);
& &out.println(&&div class='content'&&textarea cols='60' rows='8' name='content'&&/textarea&&/div&&br/&&);
& &out.println(&&div class='submit'&&input type='submit' value=' 提 交&&'&&/div& &);
& &out.println(&&/form&&);
& &out.println(&&/div&&);
& &out.println(&&/div&&);
& &out.println(& &/body&&);
& &out.println(&&/html&&);& &
&&} catch (IOException e) {
& &// TODO Auto-generated catch block
& &e.printStackTrace();
这是Servlet类的代码
&!DOCTYPE html&
& & &title&messageboard.html&/title&
& & &meta http-equiv=&keywords& content=&keyword1,keyword2,keyword3&&
& & &meta http-equiv=&description& content=&this is my page&&
& & &meta http-equiv=&content-type& content=&text/ charset=UTF-8&&
& &&link rel=&stylesheet& type=&text/css& href=&./css/index.css&&
& & &div id=&logo&&留言板&/div&
& & &div id=&main&&& &
&&&div id=&msg&&& &
& &&div class=&first&&
& & &div class=&floor&&第一楼&/div&
& & &div class=&name&&撒&/div&
& &&div id=&content&& 发挥年能否泥人年&&饿&&&/div&
& &&div class=&first&&
& & &div class=&floor&&&/div&
& & &div class=&name&&202.13.242.45&/div&
&&&div id=&form&&
& &&form action=&board& method=&post&&
& & &div class=&username&&&input type=&text& name=&username&&用户名&/div&&br/&
& & &div class=&p&&请输入留言&/div&&br&
& && & &div class=&content&&&textarea cols=&60& rows=&8& name=&content&&&/textarea&&/div&&br/&
& && & &div class=&submit&&&input type=&submit& value=& 提 交&&&&&/div&&&
& &&/form&
& & &/div&
& & &div id=&bottom&&&/div&
这是HTML源代码
* { margin:0
font-size:12
font-family:&宋体&;
body { background:url(../image/background.gif) center 0px repeat-x; }
width:980height:100%;
width:100%
background-image:url(../image/textured_04.png);
text-align:
font-size:35
border-bottom: 2
height:150
font-size:16
text-indent: 2
background-image:url(../image/textured_05.png);
height: 25
padding-top:10
text-align:
.floor{float:padding-left:20font-size:14}
.name{float:padding-right:20font-size:14}
lize-height:30
background-image:url(../image/textured_01.png);
.username{
color:#9400D3;
font-size:20
line-height:14
color:#FF8C00;
font-size:20
font-size:16
line-height:20
color:ADFF2F;
font-size:20
这是CSS样式
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app version=&2.5&
xmlns:xsi=&&
xsi:schemaLocation=&
&&&display-name&&/display-name&
&&&welcome-file-list&
& & &welcome-file&index.jsp&/welcome-file&
&&&/welcome-file-list&
&&&servlet&
& &&servlet-name&liuyan&/servlet-name&
& &&servlet-class&com.yinhe.servletpackage.ServletClass&/servlet-class&
&&&/servlet&
&&&servlet&
& & &servlet-name&AddMessageServlet&/servlet-name&
& & &servlet-class&com.yinhe.servletpackage.AddMessageServlet&/servlet-class&
&&&/servlet&
&&&servlet&
& & &servlet-name&YzmServlet&/servlet-name&
& & &servlet-class&yzmservlet.YzmServlet&/servlet-class&
&&&/servlet&
&&&servlet&
& & &servlet-name&LoginServlet&/servlet-name&
& & &servlet-class&yzmservlet.LoginServlet&/servlet-class&
&&&/servlet&
&&&servlet-mapping&
& &&servlet-name&liuyan&/servlet-name&
& &&url-pattern&/board&/url-pattern&
&&&/servlet-mapping&
&&&servlet-mapping&
& & &servlet-name&AddMessageServlet&/servlet-name&
& & &url-pattern&/addmsg&/url-pattern&
&&&/servlet-mapping&
&&&servlet-mapping&
& & &servlet-name&YzmServlet&/servlet-name&
& & &url-pattern&/yzm&/url-pattern&
&&&/servlet-mapping&
&&&servlet-mapping&
& & &servlet-name&LoginServlet&/servlet-name&
& & &url-pattern&/login&/url-pattern&
&&&/servlet-mapping&
&/web-app&
这是web.xml
附上所用的图片
(163.86 KB)
那2张豆好几M呢。传不上来。都用这张就行。
(252.22 KB)
本帖最后由 zimengling 于
02:26 编辑
助理工程师
引用:原帖由 zimengling 于
02:14 发表
import java.io.IOE
import java.io.PrintW
import java.util.L
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServle ... 我估计是你的这servlet有问题,想想看,你这是直接组合的html串,返回到前台,然后这个串完全就是一个网页,这样做一般会有问题的,你可以尝试下吧所有的信息用xml来返回去,然后在jsp页面上再解析出来,并在前台布局,不要这种方式布局。可以参考我的博客里的文章,,处理xml文件的,不懂得可以继续Mail我:;我习惯用DOM方式处理,呵呵
引用:原帖由 jinhuer168 于
22:15 发表
我估计是你的这servlet有问题,想想看,你这是直接组合的html串,返回到前台,然后这个串完全就是一个网页,这样做一般会有问题的,你可以尝试下吧所有的信息用xml来返回去,然后在jsp页面上再解析出来,并在前台布局,不要这种方式布 ... 谢谢啊。这是刚开始学习写的。现在用Model2 写的。在 JSP 页面输出时还有这个问题。后来我百度查到为什么啦
IE和火狐浏览器&&使整个网页居中问题讨论:
在IE中使用代码:text-align:就可以使网页整个居中,文字居中对齐。
但是在火狐浏览器中显示的效果就和IE浏览器相差异。在火狐浏览器中,整个网页界面向左对齐了,文字处于居中状态。
问题在于,IE和火狐浏览器中 CSS属性性质不大相同,所以出现上面那种情况。
现在讨论如何解决,IE和火狐浏览器中,使整个网页居中对齐了,达到浏览器的兼容性问题了。在这里我么要考虑到,整个页面布局,整个网页的宽度问题。在这里给一段 CSS代码 margin:0意思是:上下边界为0,左右根据宽度自适应!其实就是~~水平居中的意思。
或许有时大家在CSS中加了margin:0却没有效果,不能居中的问题!
在这里讨论一下两个错误引起的不能居中问题:
1、没有设置宽度
&div style=&margin:0&&&/div&
看看上面的代码,根本没有设置DIV的宽度,如何根据宽度自适应呢?新手比较容易忽略的问题!
2、没声明DOCTYPE
①DOCTYPE是document type(文档类型)的简写,在web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分!
②看看下面的代码,是不是很熟悉?像这样的,在文档最顶端,所有代码之上的乱七八糟的东西,就是用来声明DOCTYPE的!
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
③你有三种选择,用来声明DOCTYPE
* 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法),完整代码如下:
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
* 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如&br&,完整代码如下:
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Strict//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&&
* 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD,完整代码如下:
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Frameset//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd&&
④至于选择哪种。。使用过度的就可以了。。
说了半天,margin:0不起作用,不能居中的话,看看你的文档最顶端有没有声明DOCTYPE,没有就复制粘贴一下,就可以了!
还有就是 margin:0 和 margin-left: margin-right:的现实效果有时间还不一样,其原意可能在于设置了margin-top的高度不为0时,会出现意想不到的效果。
声明第二种问题解决方式,是自己查看的。
助理工程师
引用:原帖由 zimengling 于
10:58 发表
谢谢啊。这是刚开始学习写的。现在用Model2 写的。在 JSP 页面输出时还有这个问题。后来我百度查到为什么啦
IE和火狐浏览器&&使整个网页居中问题讨论:
在IE中使用代码:text-align:就可以使网页整个居中,文字居 ... 佩服,呵呵我也是初学,且我还是Student,呵呵,学习了

我要回帖

更多关于 前端页面控制台打印 的文章

 

随机推荐