java从网页抓取数据(创建一个类的html文件创建表单)

优采云 发布时间: 2021-11-04 09:05

  java从网页抓取数据(创建一个类的html文件创建表单)

  使用 Servlet,您可以从 Web 表单采集用户输入、呈现来自数据库或其他来源的记录以及动态创建网页。

  首先使用eclipse创建一个网站,使用其他开发工具也是一样,创建网站需要配置Tomcat服务器,以便网站导入servlet包并可以发布,如图所示

  新建网络项目

  

  配置Tomcat

  

  创建后,在web项目的Webcontent中编辑需要添加的网页内容

  

  这里我创建了一个 index html 文件

  

Insert title here

  创建一个表单,表单中的action表示使用哪个servlet来处理提交的信息,

  method表示数据的传输方式,分为两种,一种是get,一种是post

  接下来开始创建Servlet,在java代码中构建包,并创建一个类,这个类需要继承HttpServlet

  

  从网页读取数据

  

在HttpServlet中有两个方法,doget 和dopost,这两个方法就是用来接收网页端数据和向网页端输出数据的

在这里我们使用dopost的方法,在dopost中有个参数HttpServletRequest request我们可以通过这个参数获取网页的传输内容

HttpServletRequest 参数中有getParameter这个方法能够获取网页的表单对象

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

  这是用一个字符串以name属性为name的形式接收字符串数据

  表单中的输入可以定义服务订单要获取的名称,同样可以获取pwd中的数据。

  输出数据到网页

  输出数据是一个依赖 PrintWriter 的对象。这个对象有写和打印的方法,可以将数据输出到网页。具体用途:

  PrintWriter out = response.getWriter();

  out.println("string");

  也可以把字符串的位置改成html代码,直接打印出一个网页

  服务器的具体代码如下:

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

  如果要输出网页,请加上这句话text/html,否则输出的是代码而不是网页

  如果要从网页中获取汉字,需要设置utf-8格式,否则会出现乱码

  package com.yd;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Yd extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

}

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

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

response.setCharacterEncoding("UTF-8");

request.setCharacterEncoding("UTF-8");

/** 设置响应头允许ajax跨域访问 **/

response.setHeader("Access-Control-Allow-Origin", "*");

/* 星号表示所有的异域请求都可以接受, */

response.setHeader("Access-Control-Allow-Methods", "GET,POST");

/**

* 接收json

*/

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

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

System.out.println(name);

System.out.println(pwd);

/**

* 返回json

*/

PrintWriter out = response.getWriter();

String title = "成果";

String docType = " \n";

out.println(

docType + "\n" + "" + title + "\n" + "\n"

+ "" + title + "\n" + "登陆成功\r\n" + "\r\n" + "");

out.close();

}

}

  3、配置Web.Xml文件,

  servlet 构建完成后,需要在 web.xml 中进行配置,这样 servlet 才能在网页和服务票证中找到

  web.xml 文件也在 WebContent/Web-INF 中。如果没有,您需要手动创建一个。

  web.xml 代码如下

  

My

index.html

index.htm

index.jsp

MyServlet

com.yd.MyServlet

MyServlet

/MyServlet

   中的是与

中的对应的随便取什么名字都行,但是两个name需要一样

  com.yd.MyServlet

这表示的是你要使用的Servlet所在的路径,需要写包名,

/MyServlet

其中的/MyServlet表示的是在网页中访问servlet时用到的URL地址,一定要加/ 名字随意

  index.html

表示的是当只有前面部分的URL时访问的页面

例如你需要访问http://localhost/My/index.html时如果你在地址栏直接输入http://localhost/My则会直接访问你再这一项中设计的欢迎页面

  至此,配置完成,只需要运行发布到Tomcat即可访问

  

  

  从地址栏可以看到URL已经进入了Servlet,下面也可以读取输入框中的数据

  需要提醒的是,html文件一定要放在WebContent下,而不是WebContent中的Web-INF下,否则会一直出错,一门血课。 . 使用jsp的原理类似,jsp本质上就是一个servlet

  所以如果用jsp来设计,就不需要在xml文件中配置。你只需要在html中把表单中的action写成你自己的jsp文件,然后jsp和servlet就一样了。

  代码如下:

  

Insert title here

  jsp中的代码,

  

Insert title here

登陆成功

  最后你会看到同样的效果,只不过地址栏中的servlet是用jsp文件编写的

  html文件和jsp文件都需要写在WebContent下,而不是WebContent中的Web-INF下

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线