发表于: 2017-08-05 23:08:43

2 1019


今天完成的:

学东西

收获:

1.httpClient的使用,org.apache.http.client是阿帕奇提供的对http编程的工具。可用来模拟浏览器,实现爬虫。

至于为什么使用httpClient,好像springMVC的responseEntry也能达到一样的效果。这点还在考虑

@SuppressWarnings("Duplicates")
@Test
public void doGetTest(/*String urlDemo, Map<String, String> paramDemo*/) {
String url="https://www.baidu.com/";
   Map<String, String> param=new HashMap<String, String>();
   param.put("test1","hello");
   param.put("test2","httpclient");
   // 创建Httpclient对象
   CloseableHttpClient httpclient = HttpClients.createDefault();
   String resultString = "";
   CloseableHttpResponse response = null;
   try {
// 创建uri
       URIBuilder builder = new URIBuilder(url);
       //将参数拼接到uri里面
       if (param != null) {
for (String key : param.keySet()) {
builder.addParameter(key, param.get(key));
           }
}
URI uri = builder.build();
       System.out.println("====================================>>"+uri);
       // 创建http GET请求
       HttpGet httpGet = new HttpGet(uri);
       // 执行请求
       response = httpclient.execute(httpGet);
       // 判断返回状态是否为200
       if (response.getStatusLine().getStatusCode() == 200) {
resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
       }
} catch (Exception e) {
e.printStackTrace();
   } finally {
try {
if (response != null) {
response.close();
           }
httpclient.close();
       } catch (IOException e) {
e.printStackTrace();
       }
}
//return resultString;
}

2.理解了一些前端控件在后端怎么处理

比如easyUI的treeNode控件,应该类似解析xml一样,创建一个节点实体。节点的父子关系应该在

DB中查出来。先查出来数据库中(分类)的实体对象,然后将其转为节点对象,返回给前端。

对于treeNode遍历,和查询目录下文件,解析xml一样,要用到递归,查到最后的子节点。

然后json中的数组一般映射为List

3.关于ajax

可以使用jsonp获得数据。做网站不推荐大面积使用ajax。

为了seo,更新频繁的网站会更频繁地被搜索引擎抓取,权重提高。如果全部使用ajax,网页不发生变化,搜索引擎的爬虫抓取不到js

4.@value()注解属于spring容器

我以为属于springMVC的,在springMVC.xml里注册了属性文件,结果获取不到。改成在spring里注册就好了。

正常web.xml从WEB-INF下读取配置文件。

5.关于web.xml的运行流程

比如

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
<listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

1.启动WEB项目的时候,容器首先会去它的配置文件web.xml读取两个节点

<listener></listener><context-param></context-param>

2.紧接着,容器创建一个ServletContextapplication),这个WEB项目所有部分都将共享这个上下文。

3.容器以<context-param></context-param>name作为键,value作为值,将其转化为键值对,存入ServletContext

4.容器创建<listener></listener>中的类实例,初始化配置文件

5.接着,容器会读取<filter></filter>,根据指定的类路径来实例化过滤器。

还有web.xml的加载顺序如下:

<!--总的来说,web.xml的加载顺序是: <context-param>-> <listener> -> <filter> -> <servlet>。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。-->

遇到的问题:

暂无

明天的计划:

写写复盘的接口文档


返回列表 返回列表
评论

    分享到