发表于: 2017-10-21 18:54:44

1 770


今日完成的事情:

1;建立mvn项目的servlet,还是有麻烦的,具体问题下面说。这里简单说一下流程吧

大体没多少内容,因为时mvn所有建立mvn项目,而且这个mvn不像java项目那样目录结构完整,要自己建立一个Java源码目录,然后就是新建servlet,修改xml文件,添加映射;然后这里的jar包与以前一样,直接在pom文件里添加依赖,然后就是测试了,我这浏览器有点问题,就不说了。

看一下目录结构

看一下结果


2;学习了解rest概念,太多了,也简单罗列几条比较重要的吧吧

REST最大的几个特点为:资源、统一接口、URI和无状态。

所谓"资源",就是

网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。资源要通过某种载体反应其内容,就像文本可以用txt格式表现,图片可以用JPG格式表现,甚至可以采用二进制格式;而JSON是现在最常用的资源表示格式,这样看来就可以说,资源是以json为载体的、面向用户的一组数据集,资源对信息的表达倾向于“概念模型中的数据“,这里就更抽象了,也就简单理解是一种表达形式,就类似于数据库的信息,是以一种更加抽象的、对计算机更高效和友好的数据表现形式,更多的存在于”逻辑模型中“,对比稍微理解一点吧。

而统一接口就是

RESTful架构风格规定,数据的元操作,即CRUD(create, read, updatedelete,即数据的增删查改)操作,分别对应于HTTP方法:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源,这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作。

URI(统一资源定位符)

可以用一个URI指向资源,即每个URI都对应一个特定的资源。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或识别符。一般的,每个资源至少有一个URI与之对应,最典型的URIURL

无状态

所谓无状态的,即所有的资源,都可以通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变。有状态和无状态的区别,举个简单的例子说明一下。如查询员工的工资,如果查询工资是需要登录系统,进入查询工资的页面,执行相关操作后,获取工资的多少,则这种情况是有状态的,因为查询工资的每一步操作都依赖于前一步操作,只要前置操作不成功,后续操作就无法执行;如果输入一个url即可得到指定员工的工资,则这种情况是无状态的,因为获取工资不依赖于其他资源或状态,且这种情况下,员工工资是一个资源,由一个url与之对应,可以通过HTTP中的GET方法得到资源,这是典型的RESTful风格。

3restweb的关系

REST是以Web为平台的,选择通过使用http协议和uri,利用 Client/server model对资源进行CRUD (Create/Read/update/delete)增删改査操作。Web是分布式信息系统,为超文本文件和其他对象(资源)提供访问入口,而资源是Web架构的关键点需要3个操作识别(dentify)表示 represent交互 interact with)通过这三个操作,又引出三个概念uri(统-资源标识符包括urum)识别资源; representation(例如htmlxml,图片,视频等等)表示资源;通过协议(包括httpftp等等)与资源进行交互。


4,然后是准备小课堂是发现一个有趣的问题,上面提到html是一种资源,而web是一种平台,rest在这个平台上通过客户端服务器来操作;那么讲的小课堂实际上就是一种资源,而且在添加http之前就是一个本地html页面

但是观察制作好的html加上https://ptteng.github.io/PPT/PPT-java之后就变成一个网址了,本质上应该是这个连接把普通的html这种资源连接到公司葡萄藤的web服务器上了,相当关于部署发布;而昨天学的Tomcat实际上也是一个web服务器,然后理论上也是可以把我的小课堂部署到汤姆猫,这样就不用在本地打开访问,直接输入连接访问


5;下面是具体步骤,嗯,很具体,直接添加到汤姆猫的root里面。直接变成连接。。。简直了。。。。


6;虽然有点搞笑,但是就那样解决了,不过百度之后发现那个端口8080tomcat默认的,可以改掉,这样的话就可以像百度这种不带端口的样了

步骤的话也很简单,直接修改tomcatxml配置文件,修改一下端口信息


7;改完之后遇到新问题了,空白。。。具体解决办法写在下面了,经过排查杀死解决;8080消失了但是端口被占,显示不出来。。。

最后,netstat  -aon | findstr taskkill /f /t /im杀死解决,8080消失


明日计划的事情:

1;白天心散了,没学习效率低,加强专注能力,学习spring

2;步骤乱了一点点,问题不大,明天继续准备小课堂

3;每天培养一下时间规划能力


遇到的问题及解决方法:

1;说个小问题就是,上午师兄讨论的那个servlet类,为什么在命令行里不能编译,但是项目正常;应该是即使把jar包放入build path,实际上idea里的加的path也只是加在项目的路径,并没有加入本地的环境变量,项目可以通过编译的原因,大概是idea这一类智能开发工具,也会操作类似于在命令行加参数cp来指明类路径打包编译吧;当然要想在命令行编译也可以,除了直接粗暴的把jar包加入系统变量,还有就是通过参数-classpath(或者缩写-cp)指明路径来编译了。

麻烦点,就是加到系统变量里,然后直接用javac不加类路径参数来编译(这里多说一句,实际上加的让我心惊胆战。。。我就是想测试下我的电脑C盘用户名是中文,这样会不会读取不到,那样的话我就要哭了。。。因为直接修改成中文的话,所有c盘的软件程序都会报错。。好在可以)

然后就是比较方便的简单测试用,用参数Javac -classpath来编译,也可以虽然我的中文名看起来是空的,这里也不影响,哈哈。


2;就是上次也说了,每次创建mvn项目时,只要idea重启之前配置好的仓库路径就会出错,返回系统自动设置的.m2,真是奇怪


3;就是建立webmvn项目,因为默认没有java源码目录,我还找了半天,还以为项目或者时mvn出问题了,这里要自己新建源码文件夹


4;建好之后,又出现新问题,发现找不到servlet。。。最后发现,要修改一下.iml文件。

应该是因为新建了源码目录,这里配置上之后,神奇的出闲了


5;然后这里为什么会有俩war包选择??


6;改了端口之后发现页面信息空白??最后百度发现端口可能被占,然后解决步骤如下

检测排查端口netstat  -aon | findstr

然后杀死taskkill /f /t /im 解决

顺便测试一下idea写的,没毛病,看起来像个网站啦

7;最后再说一个小问题,就是tomcat只能启动一个,在本地启动后,idea启动会报错端口被占。


收获:

1;用mvn跑通简单的servlet项目

2;部署资源到汤姆猫上,修改端口

3;完成部分小课堂内容

 

 

 



返回列表 返回列表
评论

    分享到