﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-☆-文章分类-Servlet</title><link>http://www.blogjava.net/lizhuxin/category/33745.html</link><description>☆</description><language>zh-cn</language><lastBuildDate>Thu, 14 Aug 2008 07:36:15 GMT</lastBuildDate><pubDate>Thu, 14 Aug 2008 07:36:15 GMT</pubDate><ttl>60</ttl><item><title>servlet实例步骤</title><link>http://www.blogjava.net/lizhuxin/articles/221798.html</link><dc:creator>☆</dc:creator><author>☆</author><pubDate>Wed, 13 Aug 2008 10:41:00 GMT</pubDate><guid>http://www.blogjava.net/lizhuxin/articles/221798.html</guid><wfw:comment>http://www.blogjava.net/lizhuxin/comments/221798.html</wfw:comment><comments>http://www.blogjava.net/lizhuxin/articles/221798.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lizhuxin/comments/commentRss/221798.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lizhuxin/services/trackbacks/221798.html</trackback:ping><description><![CDATA[servlet实例步骤:<br />
<br />
<p>//servlet运行实例，运行环境myeclipse6.01,JDK5,tomcat6.0<br />
1)首先创建一个web工程,工程名为ServletTest</p>
<p>2)web.xml文件中配置servlet，如下配置<br />
&nbsp;&lt;servlet&gt;&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;controlServlet&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;cqu.cs.controlServlet&lt;/servlet-class&gt;<br />
&nbsp;&lt;/servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;controlServlet&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/control&lt;/url-pattern&gt;<br />
&nbsp; &lt;/servlet-mapping&gt;<br />
&nbsp;&lt;servlet-name&gt;标签表示Servlet的名称，&lt;servlet-class&gt;表示处理该Servlet的控制类，<br />
&nbsp;&lt;url-pattern&gt;表示访问该servlet的url地址。</p>
<p>3)创建servlet类controlServlet，该类要继承HttpServlet类，代码如下：<br />
public class controlServlet extends HttpServlet {<br />
&nbsp; public void doGet(HttpServletRequest request, HttpServletResponse response)<br />
&nbsp;&nbsp;&nbsp;throws IOException, ServletException {<br />
&nbsp;String height = request.getParameter("height");<br />
&nbsp;String weight = request.getParameter("weight");<br />
&nbsp;peopleBean people = new peopleBean();<br />
&nbsp;people.setHeight(height);<br />
&nbsp;people.setWeight(weight);<br />
&nbsp;response.setContentType("text/html;charset=gb2312");<br />
&nbsp;PrintWriter out = response.getWriter();<br />
&nbsp;out.print("&lt;html&gt;");<br />
&nbsp;out.print("&lt;body&gt;");<br />
&nbsp;out.print(people.getHeight() + "&lt;br&gt;");<br />
&nbsp;out.print(people.getWeight() + "&lt;br&gt;");<br />
&nbsp;out.print("&lt;/body&gt;");<br />
&nbsp;out.print("&lt;/html&gt;");<br />
&nbsp;}</p>
<p>public void doPost(HttpServletRequest request, HttpServletResponse response)<br />
&nbsp;&nbsp;&nbsp;throws IOException, ServletException {<br />
&nbsp;doGet(request, response);<br />
&nbsp;}<br />
}<br />
request.getParameter("height")表示获取页面传入的参数</p>
<p>4)编写jsp页面table.jsp<br />
&lt;%@ page contentType="text/html;&nbsp; charset=gb2312" %&gt;<br />
&lt;%@ page import="com.bonc.training.peopleBean" %&gt;</p>
<p>&lt;html&gt;&lt;head&gt;&lt;title&gt;servlet&lt;/title&gt;&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form method="post" action="/mvc1/control"&gt;<br />
&lt;table&gt;&lt;tr&gt;&lt;td&gt;身高:&lt;/td&gt;<br />
&lt;td&gt;&lt;input type="text" name="height" value=""&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;体重:&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="weight"&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr &gt;&lt;td&gt;&lt;input type="submit" value="提交"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="reset" value="重填"&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;/form&gt;</p>
<p>5)在浏览器中输入http://localhost:8080/ServletTest/table.jsp进入答table.jsp页面<br />
提交表单后，在页面显示出身高和体重的值<br />
</p>
<img src ="http://www.blogjava.net/lizhuxin/aggbug/221798.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lizhuxin/" target="_blank">☆</a> 2008-08-13 18:41 <a href="http://www.blogjava.net/lizhuxin/articles/221798.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet基础知识问答</title><link>http://www.blogjava.net/lizhuxin/articles/221797.html</link><dc:creator>☆</dc:creator><author>☆</author><pubDate>Wed, 13 Aug 2008 10:39:00 GMT</pubDate><guid>http://www.blogjava.net/lizhuxin/articles/221797.html</guid><wfw:comment>http://www.blogjava.net/lizhuxin/comments/221797.html</wfw:comment><comments>http://www.blogjava.net/lizhuxin/articles/221797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lizhuxin/comments/commentRss/221797.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lizhuxin/services/trackbacks/221797.html</trackback:ping><description><![CDATA[servlet基础知识问答:<br />
<br />
<p>1、Servlet的基本架构<br />
　　答：<br />
public class ServletName extends HttpServlet {<br />
&nbsp; public void doPost(HttpServletRequest request, HttpServletResponse response) throws<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletException, IOException&nbsp; {<br />
&nbsp; }<br />
&nbsp; public void doGet(HttpServletRequest request, HttpServletResponse response) throws<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletException, IOException&nbsp; {<br />
&nbsp; }<br />
} </p>
<p>2、什么情况下调用doGet()和doPost()？<br />
　　答：Jsp页面中的form标签里的method属性为get时调用doGet()，为post时调用doPost()。</p>
<p>3、servlet的生命周期<br />
　　答：web容器加载servlet，生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现，<br />
&nbsp;&nbsp;&nbsp; 根据请求的不同调用不同的do***()方法。结束服务，web容器调用servlet的destroy()方法。</p>
<p>4、如何现实servlet的单线程模式<br />
　　答：&lt;%@ page isThreadSafe="false"%&gt;</p>
<p>5、Request对象的主要方法</p>
<p>　　答：<br />
　　setAttribute(String name,Object)：设置名字为name的request的参数值<br />
　　getAttribute(String name)：返回由name指定的属性值<br />
　　getAttributeNames()：返回request对象所有属性的名字集合，结果是一个枚举的实例<br />
　　getCookies()：返回客户端的所有Cookie对象，结果是一个Cookie数组<br />
　　getCharacterEncoding()：返回请求中的字符编码方式<br />
　　getContentLength()：返回请求的Body的长度<br />
　　getHeader(String name)：获得HTTP协议定义的文件头信息<br />
　　getHeaders(String name)：返回指定名字的request Header的所有值，结果是一个枚举的实例<br />
　　getHeaderNames()：返回所以request Header的名字，结果是一个枚举的实例<br />
　　getInputStream()：返回请求的输入流，用于获得请求中的数据<br />
　　getMethod()：获得客户端向服务器端传送数据的方法<br />
　　getParameter(String name)：获得客户端传送给服务器端的有name指定的参数值<br />
　　getParameterNames()：获得客户端传送给服务器端的所有参数的名字，结果是一个枚举的实例<br />
　　getParameterValues(String name)：获得有name指定的参数的所有值<br />
　　getProtocol()：获取客户端向服务器端传送数据所依据的协议名称<br />
　　getQueryString()：获得查询字符串<br />
　　getRequestURI()：获取发出请求字符串的客户端地址<br />
　　getRemoteAddr()：获取客户端的IP地址<br />
　　getRemoteHost()：获取客户端的名字<br />
　　getSession([Boolean create])：返回和请求相关Session<br />
　　getServerName()：获取服务器的名字<br />
　　getServletPath()：获取客户端所请求的脚本文件的路径<br />
　　getServerPort()：获取服务器的端口号<br />
　　removeAttribute(String name)：删除请求中的一个属性</p>
<p>6、我们在web应用开发过程中经常遇到输出某种编码的字符，如iso8859-1等，如何输出一个某种编码的字符串？<br />
　　答：<br />
Public String translate (String str) {<br />
&nbsp; String tempStr = "";<br />
&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");<br />
&nbsp;&nbsp;&nbsp; tempStr = tempStr.trim();<br />
&nbsp; }<br />
&nbsp; catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp; System.err.println(e.getMessage());<br />
&nbsp; }<br />
&nbsp; return tempStr;<br />
}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/lizhuxin/aggbug/221797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lizhuxin/" target="_blank">☆</a> 2008-08-13 18:39 <a href="http://www.blogjava.net/lizhuxin/articles/221797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet基础知识</title><link>http://www.blogjava.net/lizhuxin/articles/221795.html</link><dc:creator>☆</dc:creator><author>☆</author><pubDate>Wed, 13 Aug 2008 10:38:00 GMT</pubDate><guid>http://www.blogjava.net/lizhuxin/articles/221795.html</guid><wfw:comment>http://www.blogjava.net/lizhuxin/comments/221795.html</wfw:comment><comments>http://www.blogjava.net/lizhuxin/articles/221795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lizhuxin/comments/commentRss/221795.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lizhuxin/services/trackbacks/221795.html</trackback:ping><description><![CDATA[<p>1)概念<br />
Servlet(Java服务器小程序)是用Java编写的服务器端程序，是由服务器端调用和执行的，按照Servlet自身规范编写的Java类。<br />
Servlet可以处理客户端传来的Http请求，并返回一个响应。Servlet是一个Java的类，Java语言能够实现的功能，Servlet基本上都能实现。</p>
<p>2)Servlet的生命周期<br />
(1)装载Servlet：这项操作一般是动态执行的。有些服务器提供了相应的管理功能，可以在启动的时候就装载Servlet<br />
&nbsp;&nbsp; 并能够初始化特定的Servlet。<br />
(2)创建一个Servlet实例。<br />
(3)调用Servlet的init()方法。<br />
(4)服务：如果容器接收到对此Servlet的请求，那么它调用Servlet的service()方法。<br />
(5)销毁：实例被销毁，通过调用Servlet的destory()方法来销毁Servlet。</p>
<p>3)使用HttpServlet处理客户端请求<br />
&nbsp;Servlet被设计成请求驱动。Servlet的请求可能包含多个数据项，当Web容器接收到某个对Servlet的请求时，<br />
&nbsp;它把它封装成一个HttpServletRequest对象，然后把此对象传给Servlet对应的服务方法，服务方法通常是doGet和doPost方法。</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/lizhuxin/aggbug/221795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lizhuxin/" target="_blank">☆</a> 2008-08-13 18:38 <a href="http://www.blogjava.net/lizhuxin/articles/221795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>