php怎么显示在线在前面,如何快速上手Spring?
概述
与一些动态语言(如Ruby、Groovy、Node.js)相比,Java开发显得异常笨重。接触过外包项目的朋友也有所了解,如果要开发一个小型项目,首选的编程语言并不是Java,而是PHP。为什么呢?因为开发起来快!目前很多大型互联网公司的早起编程语言都是类似PHP这种能够快速开发的语言。
既然问题出现了,那必然有解决问题的方案,SpringBoot做到了。
SpringBoot让我们可以在几分钟内就搭建出一套项目的基础架构,同时为我们提供了大量集成方案——starters。基于“约定优于配置”的理念,减少大量的配置文件,让项目快速、简单的运行起来。内置web容器(如tomcat、Netty等),通过jar -jar命令即可启动一个项目。
项目创建环境要求
采用SpringBoot最新版本2.1.3来讲解。我们使用Maven项目管理工具来管理项目,电脑上要预先安装好Maven3.3+(SpringBoot要求)版本。JDK当然也少不了,但需要JDK8及以上版本。
创建项目方式一
通过官网提供的Spring Initializr来创建项目。访问官方网址:https://start.spring.io/ 。显示内容如下
简单了解一下相应的参数选择:
Project:选择项目构建的工具,采用默认的Maven;
Language:选择构建项目的语言,采用默认的Java;Spring Boot:选择使用的SpringBoot的版本信息,采用最新版本2.1.3;Project Metadata:设置项目的元数据,主要就是设置Maven相关的配置;Group,对应Maven中的GroupId,Artifact对应Maven中的ArtifactId。打开More options会看到另外一些默认的配置:
Packaging:指定打包的模式,默认采用Jar包模式,即使用java -jar启动即可,如果需要部署到单独的tomcat或其他web容器,则可选择war包。Java Version:SpringBoot2.13默认支持最低JDK为8。我们前面提到的starters的选择就是在Dependencies中设置,在没有输入任何内容的时候,能够看到该输入栏目有对应的提示信息。当输入web时,会动态匹配与web相关的依赖,点击“➕”添加即可。这里选择web的最小化配置。
当完成选择,点击“Generate Project”即可自动下载创建好的项目代码。解压之后,会看到是一个标准的Maven项目,使用idea等IDE引入Maven项目,自动加载依赖即可
创建项目方式二
第二种创建方式就是直接使用IDEA进行创建,当然前提是IDEA中已经安装了Spring Boot相关的插件——Spring Boot,如下图所示。
像创建其他项目一样,File,New,Project…,即可进入创建项目页面,如下图:
选择Spring Initializr,展示右边基础配置项。我们会发现,其实此插件进行创建时默认也是调用官方提供的网址进行创建。选择JDK8,点击下一步。
像第一种方式一样,填写相关参数信息,这里就不再重复描述。点击“Next”,进入选择依赖界面。点击“Web”,同时勾选中间部分出现的“Web”。能够看到下面出现了“Servlet web application with Spring MVC and Tomcat”,因此,项目已经具有了SpringMVC框架和Tomcat内置web容器了。
当然,如果项目需要,也可以选择添加更多相关依赖。完成依赖选择之后,点击“Next”,指定项目的名称和位置,点击“Finish”,等待项目构建完成即可。根据网络速度,等待时间有所不同,当添加依赖jar包一直卡着不动时,可考虑关闭项目重新打开,手动“Reimport”一下Maven依赖。
项目目录结构项目完成创建之后,来看一下目录结构:
项目目录结构简单明了,就是一个普通的Maven项目。src/main/java目录下为项目的启动程序和后续需要编写的业务代码。resources目录存放配置文件和资源文件,如web项目的js、css、image、jsp等。test目录存放单元测试类。
配置文件
在常规spring构建的web项目中的配置文件,比如spring-content.xml、web.xml等配置文件都不见了。能够看到的只有application.properties,它默认内置了一些配置,可以通过IDEA的提示功能,快速配置相应的参数,比如在文件内入手server,则会给出如下提示:
通过提示可以看出,内嵌tomcat默认的端口为8080。可以通过server.port=xx,重新指定端口号。
项目依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
看到pom里面的内容是不是感觉清爽到极致了。是的,忽略掉Maven的元数据配置,其实我们仅仅引入了三部分的内容:
parent元素,引入了spring-boot-starter-parent的依赖管理,主要提供了整体版本控制和打包等内容;
dependencies元素中,引入了spring-boot-starter-web这个starter和单元测试的starter。
build元素中,引入了一个构建项目的maven插件。
而此刻,如果打开项目的jar包依赖,会看到已经引入了几十个功能相关的jar包了。
HelloWorld编写一个可通过浏览器访问的hello web程序。在com.example.demo包下创建一个controller的包,并创建HelloWorldController类。
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@RequestMapping
public String hello() {
return "hello world!";
}
}
像我们使用spring mvc一样,在controller中实现上面的代码。运行DemoApplication中的main方法启动项目,在浏览器输入:http://localhost:8080/hello,页面显示出”hello world!”,一个简单的rest接口请求便完成了。
是不是非常的便捷呀.......
python有什么推荐的好书吗?
零基础学习Python的话,看视频的效果会更好,很多知识点通过老师的讲解,理解起来会更容易些,比如说需要实现一个功能,从功能的分析,代码的实现以及代码的调试都是动态进行的,更加形象一些,视觉体验也会更好;
之前在 “ 如鹏网 ”上了解过Python的课程体系,挺详细的,可以参考一下,有网络的地方就可以学习,根据自己的时间来灵活安排学习进度,也有更多的时间来练习项目,夯实基础;
有问题随时提问,老师实时在线答疑,每个章节的后面都有相应的练习题和面试口才题,需要以录音的方式进行提交,直到通过为止,为以后的面试做充分的准备,口碑不错,基本上都是慕名而去的,有新的课程,也是可以免费申请了来学习的,具体的可以到如鹏网官网上去了解一下;
有详细的课程体系,可以作为参考;
第一部分:Python语言基础
第二部分:数据库基础
第三部分:web前端
第四部分:Python web开发
第五部分:Python web项目
第六部分:Linux
第七部分:NoSQL
第八部分:数据可视化
第九部分:爬虫技术
第十部分:人工智能
怎么用python实现一个页面的开发?
很高兴能回答你的问题
python 有强大的WEB开发,像Django、flask、web2py等等。
首先哎,我用pycharm做了一个简单的网页设计,运行后我们可以看到运行地址和运行内容:
如何使用Django来设计网页开发首先Django使用更少的代码,而且更快地构建出更好的Web应用程序,使得整个过程变得更容易。这符合我学python的初衷,简单高效!
但是使用起Django不是那么简单的,首先你要熟悉的记住Django命令行输出。这是我的django信息,如果你没下载好django,请先下载安装,安装我这里就不在赘述。
检测安装好后django,那么我们就需要使用 Django来创建Django文件了还是在命令行中创建project,当然我建议在D盘里创建,最好不要在C盘里创建!创建好后,在D盘里就会有相应的文件。当我们创建好了文件后,我们还需要做一件事,那就是创建目录程序当我们创建好这些后,首先,我们队服务器进行检测一下,看看我们的Django是否有效这里我检测是正确的,不知道你们运行能否成功,祝你好运!哈哈!
当我们把 文件和目录程序都准备就绪后,那么接下来,我们就需要打开pycharm打开指定文件里的django文件,将整个文件打开后。然后对里面的几个进行修改,比如说,我对它们做了一些简单修改:1.对views.py:
2.
对mysite/urls.py:这里默认的有admin,我们只需要加一个我们自己的目录程序即可。
3对polls/urls.py:
这里之所以这样写,是因为没有改其他的东西,而默认的是index.先进个门,以后的事以后再说,整体来说是不是蛮简单的!
最后就是运行整个文件啦!那是怎么运行的哎,很简单,直接在浏览器里输入下面的网址即可以访问了!想一想:对比一下,
index.html
的运行结果和django运行结果,看看有什么不同?更多精彩,敬请关注!
WEB专用服务器的安全设置的实战技巧?
删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。 对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用户从脚本提升权限: ASP的安全设置: 设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令: regsvr32/u C:WINNTSystem32wshom.ocx del C:WINNTSystem32wshom.ocx regsvr32/u C:WINNTsystem32Shell32.dll del C:WINNTsystem32shell32.dll 即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。 另外,对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll文件的执行权限,不需要的不给权限。重新启动服务器即可生效。 对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用! PHP的安全设置: 默认安装的php需要有以下几个注意的问题: C:winntphp.ini只给予users读权限即可。在php.ini里需要做如下设置: Safe_mode=on register_globals = Off allow_url_fopen = Off display_errors = Off magic_quotes_gpc = On [默认是on,但需检查一遍] open_basedir =web目录 disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod 默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;] MySQL安全设置: 如果服务器上启用mysql数据库,MySQL数据库需要注意的安全设置为: 删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查mysql.user表,取消不必要用户的shutdown_priv,relo ad_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。 Serv-u安全问题: 安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。 更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist.比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的
浏览器按f12后转到console控制界面输入代码后怎么运行这串代码?
这是不会生效的,需要进入到服务器,找到对应的网页的源码,找到header位置,加进去,具体的如:
SSH登录服务器
找到模板页的文件,模板页就是所有的页面都会加载的页面:
我的是WP系统,直接找到header.php,用vim打开
找到header位置,将跟踪代码复制到这个前面即可。