使用java开发短信平台,如何入门?
如果是通过商接入,则需先了解CMPP、SNGP、SGIP等协议,使用Socket实现,难度不高。如果通过第三方短信服务商接入,那只要使用http协议即可,基本没开发难度,并发和效率会比前者低不少。
短信平台很多,网易,腾讯等都有各自的短信平台,区别就是价格的问题了。使用也很简单,在短信平台上注册好帐号,一般会给你发一个密钥,然后你用平台给的api地址调用就行了,按照平台给的例子一看你就会了
如何用Java实现web服务器?
市面上的j***a web容器常见的有两种,一种是jetty,一种是tomcat。要想用j***a实现web容器,首先要知道其工作原理。
以Tomcat为例,我们通常开发出来的war包,会放在tomcat中的webapp下面,tomcat会自动解压war包。解压完成后,其实就是一个servlet应用!换句话说,我们写的war包中的servlet应用只需要关注业务层面的,处理***等网络链接的事情交给都交给tomcat了, 一个请求到达tomcat的流程如下图:
所以其实我们也可以手写一个web容器,只要能接收请求并转发给相应的servlet请求即可。
手写一个小的web容器
整体结构大致如下
1、写一个处理网络请求连接请求实体类、一个和网络请求连接响应实体类
j***a怎么获取***post方式传过来的数据?
用servlet来得到。通过request对象的getParameter()方法来获取。
<body>
<form action="/requestDemo" method="post">
<input type="text" placeholder="请输入用户名" name="username"><br> </form>
</body>
@WebServlet("/requestDemo")
public class RequestDemo extends httpservlet {
protected void doPost(***ServletRequest request, ***ServletResponse response) throws ServletException, IOException {
后端J***a怎么和前端html交互?
后台j***a和前端HTML的交互实质就是后台j***a服务和浏览器中网页的通信,其通信协议主要是***和***s协议。
Servlet规范详细描述了后台服务外界通信的标准,实现servlet接口便可以实现服务与外界通信。基于J***a语言的web server实现了标准的servlet API。现在的spring MVC等框架就是基于Servlet规范实现的。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 在浏览器与 Web 服务器之间使用异步数据传输(*** 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。现代浏览器均支持ajax技术。
J***a后台服务与浏览器通信简要流程如下:
1、浏览器向J***a web服务器发起***请求;
2、web服务器收到请求后将它交给servlet容器;
本人计算机[_a***_]毕业,从事J***a Web研发三年半,我就以个人的经历来谈谈后端J***a怎么和前端HTML交互,由于主要从事J***a服务端的研发,对前端HTML的认识有限,个人浅见,一起交流。
刚毕业参加工作时,首先接触到的是J***a前端技术是JSP,当时做基础架构方面的工作,有一些管理界面需要研发,而团队的技术线就是JSP+Spring+Duboo+Zookeeper+mysql,我当然也延续了这一技术线,前后使用了一年左右的JSP,前后端研发都一起搞,包括数据库部署、上线维护等都有所涉及。JSP技术使用J***a编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。JSP页面由HTML代码和嵌入其中的J***a代码所组成。服务器在页面被客户端请求以后对这些J***a代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。随着技术的发展,JSP逐渐被团队淘汰。
积极拥抱变化,是互联网公司或者互联网团队需要做的事情,spring boot + spring cloud的技术线进入了我们的视野。基础架构全面引入spring boot,积极推动微服务的发展成为团队的新课题。在推动spring boot的使用中,发现其支持的thymeleaf模板引擎有诸多的优点,在leader拍板之后,团队的前端技术就由JSP替换为thymeleaf。thymeleaf的优点是静态html嵌入标签属性,浏览器可以直接打开模板文件,便于前后端联调,同时也是springboot官方推荐方案。
技术总是不断发展的,前后端分离,面向接口编程的理念又进入我们的团队。hymeleaf这种前后端一起部署的技术体系已经不能满足我们的要求,为了推动前后端分离和专业的人做专业的事,将功能需求做页面划分,后端和前端定义接口标准,然后依此为契约,同步进行研发。发展到这里,前端的React技术栈又进入了我们团队的视野,由于其前端的技术太过专业,我当时只是简单的了解了一下,没有深入去学习,就专注于做服务端的接口研发。
引入该理念不久,我就跳槽后,进入新的公司新的团队,开始使用velocity。对于这个选择,没有更多的理由,融入新的环境新的团队,必须要让自己了解和使用团队的技术线,其性能良好,据说比jsp性能还要好些,但是自己没有做过相关的测试。到目前为止也在使用velocity,但会积极推动团队拥抱新变化,***用新的技术线来做相关的需求,比如freemarker等又成了团队的新的选择。