1. 通過一個實例,來淺析java web怎麼實現客戶端與服務端的交互
這種定時任務的功能,你可以選擇使用quartz框架,只需要一些簡單的配置,在伺服器啟動的時候初始化一次就可以了。自動執行的代碼一般寫在一個線程中,因為它需要非同步去執行。
2. 想用java web 做一個定時器每天12點連接一次資料庫
定義一個spring文件 applicationContext-quartz.xml
<bean id="startQuertz" lazy-init="false" class="org.springframework.scheling.quartz.SchelerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime" />
</list>
</property>
</bean>
<bean id="doTime" class="org.springframework.scheling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobtask"></property>
<property name="cronExpression" value="0 0/60 * * * ?"></property>
</bean>
3. java WEB程序 每天自動執行某個操作
你們使用的項目是不用使用了spring框架 ,如果你們使用了spring框架建議你們集成一個
quartz..這個是個作業調度框架 網上有很多關於這種資料
quartz支持時間表達式配置 很靈活,如果有需要 我這里有個簡單的例子...
4. javaweb,監聽器和定時器(Quartz)互相調控的問題
不明白你為什麼要這樣設計程序
通常情況下監聽器只是用來啟動定時器,剩下的工作都是讓定時器去處理
因為你想,你的定時器怎麼啟動起來的?
肯定是交給監聽器去啟動,例如servlet監聽器,servlet容器一創建就執行,也就是伺服器一啟動就執行,這個時候你在監聽器里開啟一個定時器就做事就行了
接下來就是讓你的定時器去定時 定時5秒去查詢表A有沒有數據如果有就處理就行了
定時器本身就是定時執行,因此不需要延時啟動了
純手工打字的,請採納哈
5. 畢業設計,股票交易撮合,Java Web,Jfinal,quartz。多線程代碼需要自己寫
可以的,沒有問題。
6. java web項目,怎麼讓項目在後台自動運行某類的方法
你可以這樣做,那就是配置一個啟動的Servlet
<load-on-startup name="" class="">0</load-on-startup>
這樣做這個Servlet就會在服務啟動的時候就開始工作。
Struts1的核心控制器就是一個這樣的Servlet
你也可以這樣可以在某一個需要的Servlet中重寫init()方法在裡面做你想要做的事情也行。
如果你認為這樣的答案還是不滿意,你可以來找我。
7. 零基礎如何系統學習Java Web
如果你之前沒有接觸過Java的話你可以先從JavaSE開始學起,畢竟JavaWeb前面還有資料庫以及web前端。
如果你是零基礎的話,可以看書開始學起也可以看視頻教程開始學,當然每個人的學習方法都是不一樣的。
零基礎如果學習Java,你可以看看這套學習路線:
第一:先學習Java的核心庫(JavaSE)
JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網路編程……..
第二:MySQL資料庫
搞定一門資料庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL資料庫,小巧輕盈,免費,由於互聯網公司的項目訪問量比較大,所以一般會搭建資料庫的集群,可以一個資料庫不夠,所以需要搭建資料庫集群,為了應付高並發。(搭建的比較多的時候,免費就很重要了。)
第三:WEB前端
以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…
第四:WEB後端(JavaWEB)
WEB後端其實可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、資料庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個非同步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)
學習到這里為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。
第五:最好能夠停留下來,做一個項目。
這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)
這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….
在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)
第六:學習高級框架
Spring、SpringMVC、MyBatis(持久層框架,這個框架互聯網公司使用比較多,因為互聯網項目需要進行SQL優化,MyBatis的SQL優化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用這個的肯定是很老的項目)、Hibernate(傳統企業,還有政府等可能會使用Hibernate。)
SpringBoot(新項目大部分使用的都是boot了。所以在項目中遇到還在使用SSM的一般都是遺留項目。)
當你走到這里之後,基本上你可以出山了。(去找工作,8K的薪資應該問題不大,但前提是你學的好。學習的深度夠了,廣度夠了。)
第七:最好能有一個大型項目是使用框架來完成的。
SpringBoot做一個項目。
Spring SpringMVC MyBatis做一個項目。
這個項目最好是找幾個人搭夥做一下。體驗一下團隊協作。(尤其是使用一些協作的工具。怎麼溝通,怎麼寫日報,怎麼開會,怎麼使用Git,等等….)
第八:如果你的薪資想達到15K的話,你可能需要還要學習一些分布式相關的一些技術。
能夠應付高並發的一些技術,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
你可以根據這套學習路線進行學習。更多學習資料免費拿全新精講視頻/面試題,初學者電子書籍等等免費領取看這里
8. java工作和技能有哪些方向
Java的工作方向我認為由兩個因素決定,一是個人意識,也就是個人的求職意願;二是技術能力,所謂「沒有金剛鑽,不攬瓷器活」說的就是這個道理。職位永遠同個人業務能力相匹配,同樣,只有在自己喜歡、擅長的領域,才能將個人價值和企業效益最大化。
關於Java工作方向的建議,我主要從知識掌握情況和技能勝任度進行舉例說明,大致分為四大階段:Java基礎、Javaweb、Java框架、Java+雲數據,希望對大家的學習和求職就業有一定幫助。
第一階段:Java基礎
掌握基本語法、面向對象、常用類、正則、集合、Io流、多線程、Nio、網路編程、JDK新特性、函數式編程。
可勝任工作(工作方向):數據採集與嵌入式交互,負責公司業務平台開發和維護工作,根據需求,獨立、快速、高質量完成技術開發編程任務; 參與核心代碼編寫工作,負責資料庫及相關埠的設計及開發等。
核心知識點:
DOS命令,JAVA發展簡史,JAVA體系,JAVA的特性
安裝jdk, 配置環境變數,安裝編譯工具,第一個HelloWorld
文檔注釋,單行注釋,多行注釋
二進制,進制轉換
標識符,命名規則,命名習慣,關鍵字,保留字
八種基本數據類型,常量,變數,運算符,表達式
執行語句, if 語句, switch case語句
while, do-while 循環
循環,特殊流程式控制制
方法,方法重載,遞歸演算法
OOP(面向對象的設計思想)
對象的創建和內存,構造方法的定義, this 關鍵字
封裝和集成, static ,super 關鍵字
方法重寫
訪問許可權,轉型和多態, Object 類
final 關鍵字
Eclipse,數組, Arrays 工具類,可變參數,二維數組,內部類,設計模式
單例設計模式,工廠設計模式
包裝類和字元串
正則表達式,枚舉
泛型, Iterator 迭代, List 介面, Set,Map,Collections
File,IO 流,轉換流
緩沖流,內存流
對象流, Properties 類,裝飾者設計模式
多線程的三種實現,線程的常用方法,線程的生命周期,線程同步
網路編程, TCP/IP,UDP
NIO, Channel,Buffer
Selector,FileChannel
JDK8新特性
JDK9新特性
JDK10新特性
反射
資料庫簡介和安裝, DML 操作, DQL 查詢數據
數據的完整性,多表查詢
視圖,索引
SQL 注入,批處理,資料庫事務
C3P0連接池, Druid 連接池
DBUtils 工具類封裝
Html 簡介, Html 基本標簽, Html 表單標簽
CSS 簡介, CSS 導入方式, CSS 選擇器, CSS 屬性
CSS盒子模型, CSS 擴展屬性
Bootstrap
SVN
JavaScript基本語法
函數,彈窗函數,事件, JavaScript 正則表達式
JavaScript 的 DOM,BOM
JavaScript 定時任務
Tomcat,XML
Dom4j 解析 XML
SAX 解析
XML 生成
Http 協議
Servlet 生命周期
Servlet 跳轉
HttpServletRequest,HttpServletResponse
Servlet 新特性
Cookie,Session
URL 重寫
過濾器 Filter, 監聽器 Listener
Jsp,Jsp 內對象
EL 表達式, JSTL
JSON 語法,JSON 解析, JSON 生成
Gson,FastJson,Jackson工具
Ajax 簡介, Ajax 工作原理, Ajax 核心
Ajax 綜合案例
jQuery概述, jQuery作用,jQuery引用
jQuery語法, jQuery選擇器,jQuery時間
jQuery效果, jQuery HTML
jQuery Ajax, jQuery 插件
Validate 插件, Moment 插件
MVC 模式
Maven 和 Maven私服Nexus
IntellijIDEA
MarkDown
Git
LayUI
Mybatis
Spring5
SpringMVC
Struts2
Hibernate
Hibernate Validate
HttpClient
RESTful API
Shiro
Activiti
POI
Echarts
項目架構演進
Linux 常用命令
Linux 安裝 JDK,MySQL
Nginx 安裝, 負載均衡,反向代理
Redis 安裝,常見數據類型
Redis 集群,高可用
SpringDataRedis
Zookeeper
Dubbo
WebMagic
Quartz
FreeMarker
OSS
CAS 單點登錄
SpringBoot
Thymeleaf
MyCat
KeepAlive
Elasticsearch
Solr
ActiveMQ
RabbitMQ
RocketMQ
FastDFS
Oracle
Docker
SpringCloud Eureka
SpringCloud Ribbon
SpringCloud Feign
SpringCloud Hystrix
SpringCloud Zuul
SpringCloud Config
SpringCloud ZipKin
SpringCloud Sleuth
SpringBoot Admin
Jenkins
ELK
GitLab Runner
Kuberntes
Zbus
微信小程序
微信公眾號
微信支付
微信提現
第二階段:Javaweb
掌握資料庫(MySQL)、前端(Html5、CSS3、JS、BootStrap、jQuery)、後端技術(Servlet、Filter、Listener、JSP)、會話跟蹤技術(Cookie、Session)、版本控制器(SVN)、在線支付等技能。
可勝任工作(工作方向):能根據產品需求和組長設計的方案獨立完成代碼編寫,熟悉高並發、海量數據系統經驗,能持續對自己系統進行調優。
核心知識點:
第三階段:Java框架
掌握主流的企業級框架,開發和管理工具(Maven、Git、Idea)、Spring、webMVC框架(SpringMVC、Struts2)、ORM框架(Hibernate、MyBatis)、許可權管理(Shiro)、工作流(Activite)、POI、Echarts、Spring新特性等。
可勝任工作(工作方向):常見中小型互聯網項目開發, OA/CRM/ERP 系統開發, APP 服務端開發等等,可勝任中高級Java開發工程師。
核心知識點:
第四階段:Java+雲數據
完成金融/電商類大型分布式項目/APP 服務端項目等。
可勝任工作(工作方向):可負責開發框架的搭建、改進、跟蹤管理方案落地實施,指導開發人員開發工作,管控代碼質量。對關鍵模塊的代碼編寫與集成對java架構體系,主流開源框架有深入研究,對微服務技術有大項目實踐經驗。熟悉常用的中間件、資料庫,對分庫分表技術、消息中間件、分布式框架等。
9. 關於java web項目的疑問:jsp頁面運行,然後關閉,但是後台的某個類的方法還在持續的運行。這個如何辦到
可以用quartz,或Timer定時器的使用
packagetest;
importjava.util.Timer;
publicclassTimeTaskTest{
publicstaticvoidmain(String[]args){
Timertimer=newTimer();
timer.schele(newTask(),10*1000);
}
}
packagetest;
importjava.util.TimerTask;
{
publicvoidrun()
{
System.out.println("定時任務執行");
}
}