servlet总结

来源:互联网 发布:ubuntu桌面文件夹路径 编辑:程序博客网 时间:2024/06/07 01:37

1、把 servlet-api.jar 包拷贝到工程下,servlet-api.jartomcat安装包bin目录下可以找到。

2、把servlet-api.jar 添加到工程Java Build Path 中。

3、修改工程编译的class文件存放位置到WEB-INF目录下的classes文件夹下。

   Java Build PathSource—最下面修改路径即可。(注意路径是以工程名开头)

4、在工程src目录下建立要开发的程序。(此处路径随意,在src目录下即可,下面以一条路静举例)

   在工程src目录下建立servlet目录,在servlet目录下建立MySerclet.java文件开发程序。

5、配置web.xml文件

   根据上面文件路径配置如下:

   <?xml version="1.0" encoding="UTF-8"?>

   <web-app> 

<servlet>

    <servlet-name>MyServlet</servlet-name>

        servlet-class>servlet.MyServlet</servlet-class>   -------此处为根目录下程序路径

    </servlet> 

    <servlet-mapping> 

       <servlet-name>MyServlet</servlet-name>      

       <url-pattern>/welcomeServlet</url-pattern> -------此处名字可任意取

  </servlet-mapping> 

 </web-app>

6、MyServlet.java程序如下:

package servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response) {

try{

PrintWriter wr = response.getWriter();

wr.write("<html>\r\n");

wr.write("<head>\r\n");

wr.write("<title>nihao</title>\r\n");

wr.write("<head>\r\n");

wr.write("<body>aa</body>\r\n");

wr.write("</html>");

}

catch(IOException e){

System.out.print("b");

}

    }

}

7、在网页输入:http://localhost:8080/KMAS/welcomeServlet

*这里的上下文路径为KMAS

*上下文路径后边跟web-xml文件中设置的名字即可

8、执行效果如图:

 

8、servlet表单跳转

(1)在src/servlet  目录下创建MyServlet1.javaMyServlet2.java文件。

(2)在web.xml文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app> 

  <servlet>

  <servlet-name>MyServlet</servlet-name>

  <servlet-class>servlet.MyServlet1</servlet-class> 

  </servlet> 

  <servlet>

  <servlet-name>MyServlet2</servlet-name>

  <servlet-class>servlet.MyServlet2</servlet-class> 

  </servlet> 

  

  <servlet-mapping> 

  <servlet-name>MyServlet</servlet-name>         ---------必须与上面的一致

  <url-pattern>/welcomeServlet</url-pattern>

  </servlet-mapping>  

  <servlet-mapping> 

  <servlet-name>MyServlet2</servlet-name>        ---------必须与上面的一致

  <url-pattern>/welcomeServlet2</url-pattern>    ---------任意,建议与名称相同

  </servlet-mapping> 

</web-app>

注意:同一文件名称要一样,不同文件名称不能一样。

(3)MyServlet1.java程序如下:

package servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class MyServlet1 extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response) {

try{

response.setContentType("text/html;charset=UTF-8");

PrintWriter wr = response.getWriter();

wr.write("<html>");

wr.write("<body bgcolor='dad4c9'><p><br>");

wr.write("<form action='/KMAS/welcomeServlet2' method='get'>");

wr.write("<table align='center' width='600px'>");

wr.write("<tr><td width='200px' align='right'>用户账号:</td>" +

"<td width='200px'><input type='text' name='id' size='20' maxlength='20' value=''> </td><td></td></tr>");

wr.write("<tr><td align='right'>用户密码:</td>" +

"<td><input type='password' name='password' value=''> </td></tr>");

wr.write("<tr><td align='right'><a HREF='registerUser.jsp'>注册用户</a></td>" +

"<td align='right'><input type='submit'   value='提交'> </td></tr>");

wr.write("</table>");

wr.write("</form>");

wr.write("</body>");

    wr.write("</html>");

}

catch(IOException e){

e.printStackTrace();

}

    }

}

 (4)MyServlet2.java程序如下:

package servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class MyServlet2 extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response) {

try{  

  response.setContentType("text/html;charset=UTF-8");

  PrintWriter wr = response.getWriter();

  String a  = request.getParameter("id");

  String password  = request.getParameter("password");

  wr.write("你好!"+a+"||\r\n");

  wr.write("密码:"+password+"||\r\n");

}

catch(IOException e){

e.printStackTrace();

}

    }

}

 (5)执行效果如下:

 

 

=============================传递界面===================================

 

 

9、中文乱码问题(详见javaEE资料)

     程序前加如下语句:

    response.setContentType("text/html;charset=UTF-8");

10、表单跳转有2种方法。

     <form action=” ” method=””>

     此处method后可用postget,如果用post,跳转到的页面类名为doPost。如                            用get,则跳转页面类名用doGet。一般情况下使用post

     还有一种情况就是可以跳转至自己本页面。在本页面程序中写2个类,一个类名是doPsot,一个类名是doGet。这样跳转时的method属性就决定跳转后执行哪个类中的程序。有点类似构造函数。

11、使用System.out.println();打印需要信息到控制台。

 

希望能够对大家有所帮助,也欢迎大家一起探讨大数据相关的各种疑难杂症问题。

个人 QQ1053848752 Q群:422643911

1 0