當前位置:首頁 » 網頁前端 » 控制器web界面
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

控制器web界面

發布時間: 2022-08-22 13:51:47

㈠ 如何啟動MongoDB的WEB界面

讓我們構建一個簡單的EmployeeManager Web服務,我們將使用它來演示與MongoDB連接的HATEOAS。為了引導我們的應用程序,我們將使用Spring Initializr。我們將使用Spring HATEOAS和Spring Data MongoDB作為依賴項。你應該看到類似下圖2所示的內容。圖2 :引導應用程序配置完成後,下載zip並將其作為Maven項目導入你喜歡的IDE中。首先,讓我們配置application.properties。要獲得MongoDB連接,spring.data.mongodb.host=//Mongoserverhost

spring.data.mongodb.port=//Mongoserverport
spring.data.mongodb.username=//Loginuser
spring.data.mongodb.password=//Password
spring.data.mongodb.database=//Databasename

一般來說,如果所有內容都是全新安裝的,並且你沒有更改或修改任何Mongo屬性,則只需提供一個資料庫名稱(已經通過GUI創建了一個資料庫名稱)。

spring.data.mongodb.database=EmployeeManager

另外,為了啟動Mongo實例,作者創建了一個.bat,它指向安裝文件夾和數據文件夾。它是這樣的:"C:ProgramFilesMongoDBServer3.6inmongod"--dbpathD:-datadb
現在,我們來快速創建模型。這里有兩個模型,員工模型和部門模型。檢查它們,確保有沒有參數、getter、setter、equals方法和hashCode生成的構造函數。(不用擔心,所有代碼都在GitHub上,你可以稍後查看它:https://github.com/theFaustus/EmployeeManager。)

publicclassEmployee{
privateStringemployeeId;
privateStringfirstName;
privateStringlastName;
privateintage;
}
publicclassDepartment{
privateStringdepartment;
privateStringname;
privateStringdescription;
privateList<Employee>employees;
}

現在我們已經完成了模型的製作,讓我們來創建存儲庫,以便來測試持久性。存儲庫如下所示:


extendsMongoRepository<Employee,String>{
}

extendsMongoRepository<Department,String>{
}

如上所示,這里沒有方法,因為大家都知道Spring Data中的中心介面被命名為Repository,在其之上是CrudRepository,它提供了處理模型的基本操作。在CrudRepository之上,我們有PagingAndSortingRepository,它為我們提供了一些擴展功能,來簡化分頁和排序訪問。在我們的案例中,最重要的是MongoRepository,它用於嚴格處理我們的Mongo實例。因此,對於我們的案例來說,除了那些現成的方法外,我們不需要任何其他方法,但是僅出於學習目的,作者在這里要提到的是你可以添加其他查詢方法的兩種方法:

  • 「惰性」(查詢創建):此策略將嘗試通過分析查詢方法的名稱並推斷關鍵字(例如findByLastnameAndFirstname)來構建查詢。
  • 編寫查詢:這里沒有什麼特別的。例如,只用@Query注釋你的方法,然後自己編寫查詢。你也可以在MongoDB中編寫查詢。下面是基於JSON的查詢方法的示例:
  • @Query("{'firstname':?0}")
    List<Employee>findByTheEmployeesFirstname(Stringfirstname);

  • 至此,我們已經可以測試我們持久性如何工作。我們只需要對模型進行一些調整即可。通過調整,作者的意思是我們需要注釋一些東西。Spring Data MongoDB使用MappingMongoConverter將對象映射到文檔,下面是我們將要使用的一些注釋:
  • @Id :欄位級別注釋,指出你的哪個欄位是身份標識。
  • @Document :類級別的注釋,用於表示該類將被持久化到資料庫中。
  • @DBRef :描述參考性的欄位級別注釋。
  • 注釋完成後,我們可以使用CommandLineRunner獲取資料庫中的一些數據,CommandLineRunner是一個介面,用於在應用程序完全啟動時(即在run()方法之前)運行代碼段。在下面,你可以看一下作者的Bean配置。
  • @(,){
    return(args)->{
    employeeRepository.deleteAll();
    departmentRepository.deleteAll();
    Employeee=employeeRepository.save(newEmployee("Ion","Pascari",23));
    departmentRepository.save(newDepartment("ServiceDepartment","ServiceRocks!",Arrays.asList(e)));
    for(Departmentd:departmentRepository.findAll()){
    LOGGER.info("Department:"+d);
    }
    };
    }

  • 我們已經創建了一些模型,並對它們進行了持久化。現在,我們需要一種與他們交互的方式。如上所說,所有代碼都可以在GitHub上找到,因此作者在這里將僅向我們展示一個域服務(介面和實現)。介面如下:
  • {
    EmployeesaveEmployee(Employeee);
    EmployeefindByEmployeeId(StringemployeeId);
    voiddeleteByEmployeeId(StringemployeeId);
    voipdateEmployee(Employeee);
    booleanemployeeExists(Employeee);
    List<Employee>findAll();
    voiddeleteAll();
    }

  • 介面的實現如下:
  • @{
    @Autowired
    private;
    @Override
    publicEmployeesaveEmployee(Employeee){
    returnemployeeRepository.save(e);
    }
    @Override
    (StringemployeeId){
    returnemployeeRepository.findOne(employeeId);
    }
    @Override
    publicvoiddeleteByEmployeeId(StringemployeeId){
    employeeRepository.delete(employeeId);
    }
    @Override
    publicvoipdateEmployee(Employeee){
    employeeRepository.save(e);
    }
    @Override
    publicbooleanemployeeExists(Employeee){
    returnemployeeRepository.exists(Example.of(e));
    }
    @Override
    publicList<Employee>findAll(){
    returnemployeeRepository.findAll();
    }
    @Override
    publicvoiddeleteAll(){
    employeeRepository.deleteAll();
    }
    }

  • 這里沒有什麼特別的要注意的,下面我們將繼續討論最後一個難題——控制器!你可以在下面看到員工資源的控制器實現。
  • @RestController
    @RequestMapping("/employees")
    publicclassEmployeeController{
    @Autowired
    ;
    @RequestMapping(value="/list/",method=RequestMethod.GET)
    publicHttpEntity<List<Employee>>getAllEmployees(){
    List<Employee>employees=employeeService.findAll();
    if(employees.isEmpty()){
    returnnewResponseEntity<>(HttpStatus.NO_CONTENT);
    }else{
    returnnewResponseEntity<>(employees,HttpStatus.OK);
    }
    }
    @RequestMapping(value="/employee/{id}",method=RequestMethod.GET)
    publicHttpEntity<Employee>getEmployeeById(@PathVariable("id")StringemployeeId){
    EmployeebyEmployeeId=employeeService.findByEmployeeId(employeeId);
    if(byEmployeeId==null){
    returnnewResponseEntity<>(HttpStatus.NOT_FOUND);
    }else{
    returnnewResponseEntity<>(byEmployeeId,HttpStatus.OK);
    }
    }
    @RequestMapping(value="/employee/",method=RequestMethod.POST)
    publicHttpEntity<?>saveEmployee(@RequestBodyEmployeee){
    if(employeeService.employeeExists(e)){
    returnnewResponseEntity<>(HttpStatus.CONFLICT);
    }else{
    Employeeemployee=employeeService.saveEmployee(e);
    URIlocation=ServletUriComponentsBuilder.fromCurrentRequest().path("/employees/employee/{id}")
    .buildAndExpand(employee.getEmployeeId()).toUri();
    HttpHeadershttpHeaders=newHttpHeaders();
    httpHeaders.setLocation(location);
    returnnewResponseEntity<>(httpHeaders,HttpStatus.CREATED);
    }
    }
    @RequestMapping(value="/employee/{id}",method=RequestMethod.PUT)
    publicHttpEntity<?>updateEmployee(@PathVariable("id")Stringid,@RequestBodyEmployeee){
    EmployeebyEmployeeId=employeeService.findByEmployeeId(id);
    if(byEmployeeId==null){
    returnnewResponseEntity<>(HttpStatus.NOT_FOUND);
    }else{
    byEmployeeId.setAge(e.getAge());
    byEmployeeId.setFirstName(e.getFirstName());
    byEmployeeId.setLastName(e.getLastName());
    employeeService.updateEmployee(byEmployeeId);
    returnnewResponseEntity<>(employeeService,HttpStatus.OK);
    }
    }
    @RequestMapping(value="/employee/{id}",method=RequestMethod.DELETE)
    publicResponseEntity<?>deleteEmployee(@PathVariable("id")StringemployeeId){
    employeeService.deleteByEmployeeId(employeeId);
    returnnewResponseEntity<>(HttpStatus.NO_CONTENT);
    }
    @RequestMapping(value="/employee/",method=RequestMethod.DELETE)
    publicResponseEntity<?>deleteAll(){
    employeeService.deleteAll();
    returnnewResponseEntity<>(HttpStatus.NO_CONTENT);
    }
    }

  • 因此,對於上面實現的所有方法,我們將自己定位在Richardson成熟度模型的第二級,因為我們使用了HTTP動詞並實現了CRUD操作。現在,我們有了與數據進行交互的方法,並且可以使用Postman,我們可以如下圖3所示檢索資源,或者可以如下圖4所示添加新資源。
  • 圖3 :檢索JSON中的部門列表
  • 圖4:JSON中添加新員工

㈡ cisco 無線控制器2504,WEB界面怎麼查看license

㈢ 思科2500 series 無線控制器 web管理頁面進不去

進入到配置模式下,敲
inter bvi1
ip add 192.168.0.254 255.255.255.0
退出CLI界面,,自己電腦配成上面這個網段,拿網線接上AP的乙太網口就可以用WEB方式進行登錄了

㈣ 什麼是「路由器配置web界面」

路由器配置Web就是通過電腦或手機瀏覽器能夠進入的路由器管理頁面,該頁面內可能對路由器進行配置,更改密碼,限速等設置,下面給出進入路由器配置Web的操作流程:

所需材料:任意一款瀏覽器。

一、要進入路由器管理頁面就必須知道所使用路由器的登陸地址,可以在路由器說明書內找到。

㈤ 如何讓ryu控制器內容以web頁面的方式呈現

正常訪問。web-inf下的內容只是限制其他站點無法訪問,但是對自己的服務而言是不做限制的。資源放在web-inf目錄下是出於安全的需要,對自己的服務使用來說是沒有任何障礙的。

㈥ cisco 2500無線控制器 怎麼進入web管理界面啊忙了一天了還是不知道求大神解決。

超級終端連CONSOLE口,進行初始化設置,輸入管理介面地址等信息,

然後https://管理介面IP地址

㈦ 華為AC無線控制器Web頁面登陸賬戶密碼都對但是就是登不上

那是,網站的問題,或者你網速不好,就上不去

㈧ 怎麼進入Web設置界面啊

進入的方法和詳細的操作步驟如下:

1、第一步,需要下載flask庫,然後將flask庫導入程序中,如下圖所示,然後進入下一步。

㈨ aruba在控制器web界面怎麼刪除掉不用的ap

arubaAC控制器支持通同協議標准下的不同品牌ap。不過你這幾個無線路由遠沒有那個控制器貴。除非刷固件。