servlet简单示例+调用webservice服务
来源:互联网 发布:淘宝绸缎丝带 编辑:程序博客网 时间:2024/05/06 08:27
servlet简单示例+调用webservice
1:servlet的简单示例
1.1:servlet是什么?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以上是百度百科里面的解释,我这是笔记,是写着初学者看得,所以只要记住两点
(1):实现了servlet接口;
(2):接受客户端(浏览器)的请求并作出反应。
1.2:创建第一个servlet
新建一个类,类名自取,要注意的是实现servlet接口,图中红色标注部分
import java.io.IOException;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class servlet implements Servlet {@Overridepublic void destroy() {// TODO Auto-generated method stub}@Overridepublic ServletConfig getServletConfig() {// TODO Auto-generated method stubreturn null;}@Overridepublic String getServletInfo() {// TODO Auto-generated method stubreturn null;}@Overridepublic void init(ServletConfig arg0) throws ServletException {// TODO Auto-generated method stub}@Overridepublic void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {//后台日志记录 System.out.println("servlet开始响应请求!"); //页面返回结果 arg1.getOutputStream().write("<font color='red'><input type='text' value='hello world!' /></font>".getBytes());}}我们可以看到生成的代码里实现 了五个方法,先聚焦最后一个service()方法,其他方法在servlet生命周期里讲。arg1是响应的结果,我们给他输出一个红色的“hello world”字样。
servlet写好了接下来就是配置web.xml文件了(不配置tomcat怎么知道如何去构建servlet呢,服务器又怎么调用呢)
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>MyServlet</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <!-- 自己給servlet取得名字 --> <servlet-name>servlet</servlet-name> <!-- servlet的路徑 --> <servlet-class>com.ustcinfo.servlet.servlet</servlet-class> </servlet> <servlet-mapping> <!-- 與上面的servlet-name對應 --> <servlet-name>servlet</servlet-name> <!-- 訪問servlet的地址,自己取 --> <url-pattern>/hello1</url-pattern> </servlet-mapping></web-app>主要配置两个东西<servlet>和<servlet-mapping>,前者是tomcat用来构建servlet,后者是映射地址让浏览器请求能发送到正确的位置。
启动服务器,浏览器里输入地址:http://localhost:8080/MyServlet/hello1,结果如下:
简单的servlet就构建好了!
1.3:servlet的生命周期
接下来说一下servlet的生命周期:上文提到了我们在构建servlet类的时候实现了servlet接口,里面有五个方法:
destroy():销毁servlet,停掉服务器的时候调用
getServletConfig():获取servlet配置信息。
getServletInfo():获取servlet的属性信息。
init(ServletConfig config):初始化信息。
service(ServletRequest request, ServletResponse response):响应请求。
所以不难看出在我们启动服务器的调用某个servlet的时候的过程是:
init(ServletConfig config)————service(ServletRequest request, ServletResponse response)————destroy()
其他两个是穿插在其中的,并不影响servlet的生命周期。
ps:其实servlet是可以在服务器启动时就创建,不用非得等到servlet调用才创建。这里就需要在web.xml的servlet中配置一个<load-on-startup>参数为int类型,表示的意思是第几个自动创建的servlet的意思。
1.4:HttpServlet
前面讲的是基本的servlet,servlet一共有三种,而最常用的一种就是Httpservlet,基本百分之九十都是它。
右击项目new----servlet可以看到上图所示内容,注意实现的接口是HttpServlet(相当于在servlet上封装了一个http协议)。
然后往下next,可以设置我们的访问地址(这里有这个设置是因为我们用的是注解的方式),接着next可以选择我们要重写的方法(一般来说只需要重写两种doGet,doPost,这两个区别在于,浏览器的访问方式是post还是get)。
下面通过servlet调用web服务来详细介绍HttpServlet.
2:通过servlet调用web服务
2.1创建webservice
可见我的上一篇博客:http://blog.csdn.net/lucky123sky/article/details/54380115
2.2调用的实现
创建好webservice并解析WSDL文档后,将生成的java文件(class文件删除)拷贝到我们servlet所在的项目中。
注意:上面我们已经介绍了用web.XML配置,这里我们采用注解的方式。一处表示的是ServletContext里的参数,我们暂时用不上。二处是url-mapping也就是容器创建好servlet后给外界提供的访问servlet的地址。
上图我们可以看到实现的额方法可能跟之前的servlet有点不一样,但是大家一定听过post,get方式。这里的doPost和doGet就是分别处理这些方式的,如果在前台提交表单的时候没有说明方式,那么默认的就是get方式。
httpServletMain.java
package com.ustcinfo.client;import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet(asyncSupported = true, urlPatterns = { "/servletService" },loadOnStartup=1)public class httpServletMain extends HttpServlet {private static final long serialVersionUID = 1L;@Overridepublic void init() throws ServletException {System.out.println("創建servlet!");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //构建我们需要的服务对象HelloWebServiceService hw = new HelloWebServiceService();HelloWebService hws = hw.getHelloWebServicePort();String name = request.getParameter("name");String rs = hws.helloWord(name);response.getOutputStream().write(rs.getBytes());}}这里我们重写了doPost方法,我们在前台准备以post的方式发送数据。
接下来写我们前台的jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="servletService" method="post"><input type="text" name="name" /><input type="submit" value="submit"/></form></body></html>这个jsp里有一个form表单,表单的action是servletService,这个跟我们建立httpServlet是填写的URL-Mapping是一致的,这样我们才能准确的发送我们表单到正确的位置。
到这基本就完成了,我们首先启动我们的服务,然后部署我们的servlet到tomcat中。
输入网址:http://localhost:8080/MyServlet/service.jsp
随便输入一行字符串:如:chenQQQ.然后提交
就可以看到我们返回的结果了,嘻嘻。
- servlet简单示例+调用webservice服务
- Webservice简单调用示例
- Webservice简单调用示例
- webservice --外部项目调用服务示例
- PHP调用WebService的一个简单示例
- java使用axis调用WebService简单示例
- 简单webservice服务创建并调用
- WebService服务及客户端调用简单实例
- SharePoint 2013 调用WCF服务简单示例
- SharePoint 2013 调用WCF服务简单示例
- .NET作为客户端调用Java和.NET WebService 简单示例
- Java_使用axis1.4调用WebService简单示例
- C# 创建、部署和调用WebService的简单示例
- C# 创建、部署和调用WebService的简单示例
- Asp 调用WebService示例
- JS调用WebService示例
- JS调用webservice示例
- JS调用WebService示例
- C语言中关于char类型存储的分析 以及signed与unsigned的区别
- Android之头像图片变圆形
- 时间
- Python BeautifulSoup 输入HTML 之后 返回 空值
- js和html的注册页面
- servlet简单示例+调用webservice服务
- 洛谷 P1220 关路灯
- 英文分词的算法和原理
- 【Hibernate】——复合主键映射
- jQuery Validate的使用发法和自定义验证方法的实现
- Android打包原理详解
- 欢迎使用CSDN-markdown编辑器
- Html 问题总结(一)
- ThinkJs 如何操作MSSQL数据库