JavaWeb学习 第3章 servlet编程

经过几天时间的努力,终于成功的写出了自己的第一个 Web Project,哈哈哈,以下内容包括了这一章的主要内容,还有一些重要的过程和步骤,以及自己遇到的一些问题,and 自己最后是如何解决的,呵呵呵,记录下来,继续自己的程序人生系列文章,哈哈哈

一:第一个Servlet 程序

1.新建 Java Web Project

Web root  folder 的名字不是很重要,在网站部署后,并没有这个文件夹,它是一个虚拟的文件夹,只要心里面知道它是网站的根目录就可以了

Context root url 是指这个网站的上下文路径,例如下面这个就是  http://localhost:[portnumber]/webproject01/....

2. 然后新建一个 Servlet ,放在 包 com.yinger.webproject01 中,新建 方法 doGet()
3. 这时出现的窗口很重要 

Servlet Mapping URL  就是在浏览器中输入的地点的映射,这里可以通过 http://localhost:8080/webproject01/servlet/first  来访问这个Servlet 所要显示的东西

Fiel Path of web.xml   这个默认就可以,web.xml 这个文件很重要,用来保存 servlet 的各项相关的信息,名字啊,映射地址啊,参数啊..
4.编写 Servlet 程序,设计出自己要在网页中显示的内容

5.启动 Tomcat  (最好是先 将 Myeclipse 中的 Tomcat disable,然后将自己配置好了的Tomcat 添加进去)

6.部署网站 :点击 服务器按钮左边的那个部署按钮

选择了 “Add ”之后,选择要部署到的服务器“finish” 后,看到 成功部署

7. 打开浏览器,呵呵,测试成功了没

哈哈哈,OK!终于看到了自己写的第一个 Servlet!

二:调试方法

以前调试是 设置断点,然后  点右键 选择 “Debug as”,但是 现在不是了,设置好了断点之后,在浏览器中 刷新就可以看到 调试启动了,试图也就变成了调试视图

debugger

三:Servlet 获取 Servlet 初始化的参数

例如,在 web.xml 文件中输入

<servlet>

    <description>This is the description of my J2EE component</description>

    <display-name>This is the display name of my J2EE component</display-name>

    <servlet-name>GetInitParameterServlet</servlet-name>

    <servlet-class>com.yinger.webproject01.GetInitParameterServlet</servlet-class>

    <init-param>

    <param-name>repeat</param-name>

    <param-value>5</param-value>

    </init-param>

  </servlet>


红的部分就是初始化的参数,有name有value,注意参数是 Servlet 的参数!

要得到这个参数值,就可以在相应的Servlet中使用 this.getInitParameter,而不是使用request.getParameter

否则报错:

former

integer_error

 

最终的结果:

getInitParameter

四:Servlet 获取 服务器的参数

调用方法:

public void printContent(HttpServletRequest request,PrintWriter out){

out.println(request.getServerName()+"<br>");

out.println(request.getServerPort()+"<br>");

out.println(request.getServletPath()+"<br>"); 

out.println(request.getMethod()+"<br>");

out.println(request.getScheme()+"<br>");//Returns the name of the scheme used to make this request, for example, http

out.println(request.getPathInfo()+"<br>");  // Returns any extra path information associated with the URL the client sent when it made this request.

out.println(request.getProtocol()+"<br>");

out.println(request.getContextPath()+"<br>");// Returns the portion of the request URI that indicates the context of the request.  

                                out.println(request.getRemoteAddr()+"<br>");   // 获取 IP 地址

}


输出:

serverInfo

五:获取头信息

这次是通过 request 获取的信息

调用方法:

public void printContent(HttpServletRequest request,PrintWriter out){

Enumeration e = request.getHeaderNames();

String name = "";

out.println("<table>");

while(e.hasMoreElements()){

name = (String)e.nextElement();

out.println("<tr><td>"+name+"</td>");

out.println("<td>"+request.getHeader(name)+"</td></tr>");

}

out.println("</table><br>");

}

输出结果:

headerInfo

原文地址:https://www.cnblogs.com/yinger/p/2122396.html