Servlet第一个程序--实践操作(命令行)

来源:互联网 发布:linux rps是什么意思 编辑:程序博客网 时间:2024/05/20 09:09

Servlet就是用java写的服务端程序,可以动态生成Web内容。
废话不多说直接上手第一个程序,命令行程序,传说中大佬都是用记事本编写程序的嘞。

操作步骤:
1.首先我们需要在tomcat的webapps文件夹下创建一个文件夹作为站点,站点名为hello。

2.OK,当然需要把想要部署的web内容传上去咯,所以我们在创建好的站点,即hello文件里编写一个index.html文件。大佬要用记事本手写代码!!!

====index.html====

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>firstServlet</title>    </head>    <body>        <h1>Hello,Servlet!</h1>    </body></html>

3.接下来检查一下自己的tomcat有没有问题,因为Servlet程序需要有tomcat容器来运行它,所以要把跑servlet的容器配置好。Windows下执行startup.bat会出现如下图所示的窗口:
这里写图片描述
然后在打开浏览器,输入地址http://localhost:8080(本机tomcat配置的端口为8080端口),显示如下页面:
这里写图片描述
4.tomcat没问题,就能跑webapps下的子站点–hello验证一下:
这里写图片描述
5.验证所有环境没有问题,接下来在hello子站点下的index.html文件中添加我们将来要写的servlet的超链接:

<h1><a href="/hello.php?name=lisi">first Servlet!</a></h1>

6.做好所有准备工作,然后正式开始写servlet。

 1> 在hello站点中创建WEB-INF文件夹,作为安全目录,这个目录下的文件只有服务器才能访问。同时创建web.xml文件。当然我们可以直接把webapps里的WEB-INF文件夹复制粘贴过来,然后再做相应的修改即可。然后再在这个文件夹里编写java程序。
package com.demo;import java.io.*;import java.lang.*;import javax.servlet.*;public class HelloServlet extends GenericServlet{    public void service (ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException{        //设置报头        res.setContentType("text/html;charset=utf-8");        //获取数据        PrintWriter pw=res.getWriter();        //预防空指针异常        String name=null!=req.getParameter("name")?req.getParameter("name"):"";        //输出        pw.println("<h1>hello"+name+"</h1>");        //关闭流        pw.close();    }}
2>编译该java程序到classes文件夹中,打开命令行到该java文件所在的目录,输入以下命令即可编译,将所得到的字节码文件放在创建好的classes   
javac -d ./classes HelloServlet.java

注意:如果编译过程中出现类找不到的错误,则需要把配置tomcat的classpath环境变量,将tomcat目录下lib目录下的servlet-api.jar添加到classpath环境变量中。

7.配置web.xml。http协议要想访问到编译好的java字节码文件,我们必须配置web.xml配置文件,配置好http协议要找的路径。
在web.xml文件中添加servlet。

<servlet>        <serclet-name>hello</serclet-name>        <servlet-class>com.demo.HelloServlet</serclet-class>    </servlet>    <servlet-mapping>        <serclet-name>hello</serclet-name>        <url-pattern>/hello.php</url-pattern>    </servlet-mapping>

8.打开tomcat之后,在浏览器输入http://localhost:8080/hello则可以访问。
这里写图片描述
点击first servlet则可以跳转到相应servlet程序需要输出的内容。
这里写图片描述