今天粗心的一些心得

来源:互联网 发布:太原网络规划研究院 编辑:程序博客网 时间:2024/04/27 22:49

在今天的学习中,大部分时间都花在了研究错误上,今天在使用记事本开发servlet的时候呢,遇到了不少的问题,在开发servlet创建包结构的时候,粗心把WEB-INF写成了WEB_INF,在没发现自己包名写错的时候,不断的找原因,却一点都没有想到包名写错的原因去,后来因为在写eclipse自建目录结构手工开发servlet的时候,又出现了这样的错误,所以回来找到了记事本开发servlet错误的原因。这个例子告诉我们,在tomcat部署项目的时候,项目子目录下的包名一定要注意,不要写错,包括大小写,-或_这些小细节。

开发servlet解决乱码问题。在server返回给浏览器的信息中,如果包含了中文,浏览器中就会出现乱码问题。怎么样解决呢?在今天我写的Dmeo中,浏览器发送请求,我是通过HttpServlet的方法service()返回数据给浏览器,方法service()有2个参数,一个是HttpServletRequest,请求对象。一个是HttpServletResponse响应对象。通过响应对象设置返回本文类型的一个方法setContentType(),传入参数类型中"text/html;charset=utf-8",多加一个charset=utf-8。就可以了。

在用eclipse自建目录结构手工开发servlet中,在eclipse创建一个java项目,通过自建目录,达到Web项目的效果。相对与Web项目,如果想把Java项目通过浏览器访问,就得在tomcat的server.xml部署这个项目,例如:<Context path="/lzy" docBase="E:\Eeclipse\MyServlet\WebRoot"/> path代表的是虚拟路径,而docBase代表的是项目WebRoot的真实路径。在项目中添加目录WebRoot 子目录WEB-INF 子目录classes目录 lib目录  web.xml文件。在操作的时候,我少写了个子目录WEB-INF导致无论如何都不能找到classes目录下的class文件。目录不能少写,以及不能写错。我的web.xml文件配置如下

<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  version="3.0">  <servlet>    <servlet-name>HandServlet</servlet-name>    <servlet-class>servlet.HandServlet</servlet-class>  </servlet>    <servlet-mapping>    <servlet-name>HandServlet</servlet-name>    <url-pattern>/hand</url-pattern>  </servlet-mapping></web-app>
注意:如果web.xml文件中有中文就得把
<span style="color:#ff0000;"><?xml version="1.0" encoding="ISO-8859-1"?></span>
encoding="ISO-8859-1"改成“UTF-8”或者“GBK”。ISO-8859-1中没有中文。


<servlet>标签里的servlet-name 就等于是键,<span style="font-family: Arial, Helvetica, sans-serif;"><servlet-mapping>标签里的servlet-name就等于是值,</span><pre name="code" class="html"><servlet>标签里的servlet-name 是唯一的。而<span style="font-family: Arial, Helvetica, sans-serif;"><servlet-mapping>标签里的servlet-name 是不唯一,用来对于<servet>标签里的servlet-name;</span>
是可以用户随便起的。但要对应上。

<servlet-class>是完整类名,通过反射的技术Class.forName("完整类名"),得到对象。 <url-pattern>是虚拟路径,用户可自定义,注意/不能少了

1 0
原创粉丝点击