用idea搭建SSM項目,原來這么簡單

目錄

  • 前言
  • 軟件環境
  • 創建項目
  • 數據庫文件
  • 配置文件
    • pom.xml
    • log4j.properties
    • jdbc.properties
    • applicationContext.xml
    • spring-mvc.xml
    • web.xml
  • 運行項目
  • 編寫代碼

前言

前陣子突發奇想,想學習下SpringMVC的源碼,于是打算用idea搭建一個簡易的maven版SSM案例,也就是SpringMVC+Spring+MyBatis+Maven,因為之前創建過一些Spring的小demo,相關的軟件環境已經搭建完成,本以為搭建一個入門級的SSM項目應該不難,誰曾想這個過程中遇到了不少千奇百怪的問題,從開始創建到成功運行花了我整整一個下午的時間(我的午覺啊~~~·),最后項目成功跑起來的時候我長出了一口氣,為了以后不在類似的事情上折騰,特此寫下這篇文章記錄一下搭建過程。

軟件環境

先準備好搭建項目的基本環境

Intellij IDEA:2018.1.1

JDK:1.8

Maven:3.6.0

Tomcat:7.0及以上

下載安裝好軟件后,在idea軟件設置里做好JDK、Maven和Tomcat的相關環境配置,這方面網上的資料很多,本文就不介紹了。

創建項目

搭建好環境后,打開idea,點擊New - Project

1478697-20190125174000282-9497199.png

找到Maven一欄,因為要搭建的SpringMvc項目,所以選擇webapp模板

1478697-20190125174009844-1592708408.png

填寫好GroupId和ArtifactId后,一步步next,最后finish完成

1478697-20190125174016638-1922554552.png

創建成功后,可以看到項目是這樣的目錄結構

1478697-20190125174024550-1188202458.png

除了配置相關依賴的pom.xml,目錄中還有一個文件夾src,src的main目錄提供了一個webapp文件夾,webapp文件夾下有一個WEB-INF文件夾,放置的是前端頁面的文件,以及web.xml文件。

除了模版提供的目錄結構,為了后面項目能成功運行,我們還需要添加一些文件夾,讓項目的目錄結構變成這樣:

1478697-20190125174033046-1871917428.jpg

數據庫文件

首先,先準備好數據庫文件,并初始化一條記錄

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID',`email` varchar(255) NOT NULL COMMENT '用戶郵箱',`username` varchar(255) NOT NULL COMMENT '用戶昵稱',`role` varchar(255) NOT NULL COMMENT '用戶身份',`mobile` varchar(50) DEFAULT '' COMMENT '手機號碼',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf-8;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '1589585621@qq.com', 'xjt', 'root', '15678635432');

配置文件

pom.xml

<?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><groupId>com.xjt</groupId><artifactId>mvcDemo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>mvcDemo Maven Webapp</name><!-- 用來設置版本號 --><properties><srping.version>4.0.2.RELEASE</srping.version><mybatis.version>3.2.8</mybatis.version><slf4j.version>1.7.12</slf4j.version><log4j.version>1.2.17</log4j.version><druid.version>1.0.9</druid.version></properties><!-- 用到的jar包 --><dependencies><!-- 單元測試 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><!-- 表示開發的時候引入,發布的時候不會加載此包 --><scope>test</scope></dependency><!-- spring框架包 --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${srping.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${srping.version}</version></dependency><!-- spring框架包 --><!-- mybatis框架包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><!-- mybatis框架包 --><!-- 數據庫驅動 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version></dependency><!-- 導入dbcp的jar包,用來在applicationContext.xml中配置數據庫 --><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency><!-- jstl標簽類 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- log --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- 連接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency></dependencies><build><!-- java編譯插件,如果maven的設置里配置好jdk版本就不用 --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>
</project>

注:以下四個配置文件都是放置在resources文件夾下

log4j.properties

#日志輸出級別
log4j.rootLogger=debug,stdout,D,E#設置stdout的日志輸出控制臺
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#輸出日志到控制臺的方式,默認為System.out
log4j.appender.stdout.Target = System.out
#設置使用靈活布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#靈活定義輸出格式
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} -[%p]  method:[%c (%rms)] - %m%n

jdbc.properties

driver=com.mysql.jdbc.Driver    
url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false    
#數據庫的用戶名
username=root      
#數據庫的密碼,別像我一樣不設置
password=               
#定義初始連接數
initialSize=0    
#定義最大連接數
maxActive=20    
#定義最大空閑
maxIdle=20    
#定義最小空閑
minIdle=1    
#定義最長等待時間
maxWait=60000

applicationContext.xml

這是Spring的核心配置文件,包括Spring結合Mybatis和數據源的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 加載properties文件 --><bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location" value="classpath:jdbc.properties"/></bean><!-- 配置數據源 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></bean><!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- 掃描model包 --><property name="typeAliasesPackage" value="com.xjt.model"/><!-- 掃描sql配置文件:mapper需要的xml文件--><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!-- Mapper動態代理開發,掃描dao接口包--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 給出需要掃描Dao接口包 --><property name="basePackage" value="com.xjt.dao"/></bean><!-- 事務管理 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--數據庫連接池--><property name="dataSource" ref="dataSource"/></bean>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"><!-- 掃描注解,這樣com.xjt包下的文件都能被掃描 --><context:component-scan base-package="com.xjt"/><!-- 開啟SpringMVC注解模式 --><mvc:annotation-driven/><!-- 靜態資源默認servlet配置 --><mvc:default-servlet-handler/><!-- 配置返回視圖的路徑,以及識別后綴是jsp文件 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean>
</beans>

web.xml

該文件不是放在resources,而是webapp的WEB-INF文件夾下,文件內容如下:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><display-name>mvcDemo</display-name><!--項目的歡迎頁,項目運行起來后訪問的頁面--><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 注冊ServletContext監聽器,創建容器對象,并且將ApplicationContext對象放到Application域中 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 指定spring核心配置文件 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><!-- 解決亂碼的過濾器 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置前端控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定配置文件位置和名稱 如果不設置,默認找/WEB-INF/<servlet-name>-servlet.xml --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

運行項目

上面的配置文件編寫好之后,其實我們就可以嘗試著啟動項目了,啟動項目前先把applicationContext.xml的內容都注釋了,然后就可以創建運行環境了。

點擊idea右上角的 Edit Configurations...

1478697-20190125174056515-2131620806.png

選擇Tomcat Server - Local,

1478697-20190125174104250-875981092.png

編輯好項目的啟動信息,包括項目名,jdk版本,tomcat以及端口

1478697-20190125174111103-637103790.png

選擇Deployment,添加Atifact,選擇第二項,否則Tomcat運行會報錯

1478697-20190125174118500-1275540393.png

保存后,啟動項目,成功后在瀏覽器輸入http://localhost:8080,返回結果如下:
1478697-20190125174126925-589621201.png

這是index.jsp文件中的內容,因為index.jsp是啟動頁,所以項目啟動后返回的結果是啟動頁的內容

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

編寫代碼

項目能跑起來,說明我們前端控制器的配置是成功的,接下來要做的是測試能否訪問數據庫。首先,把基本的類文件創建并編寫好代碼。

實體類:User.java

package com.xjt.model;public class User {private long id;private String email;private String mobile;private String username;private String role;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getMobile() {return mobile;}public void setMobile(String mobile) {this.mobile = mobile;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getRole() {return role;}public void setRole(String role) {this.role = role;}
}

dao文件:IUserDao

package com.xjt.dao;import com.xjt.model.User;public interface IUserDao {User selectUser(long id);
}

mapper文件:UserDao.xml

位于resources - mapper文件夾下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- 設置為IUserDao接口方法提供sql語句配置 -->
<mapper namespace="com.xjt.dao.IUserDao"><select id="selectUser" resultType="User" parameterType="long">SELECT * FROM user WHERE id = #{id}</select></mapper>

service接口:IUserService

package com.xjt.service;import com.xjt.model.User;public interface IUserService {public User selectUser(long userId);
}

UserServiceImpl

package com.xjt.service.impl;import com.xjt.dao.IUserDao;
import com.xjt.model.User;
import com.xjt.service.IUserService;
import org.springframework.stereotype.Service;import javax.annotation.Resource;@Service("userService")
public class UserServiceImpl implements IUserService {@Resourceprivate IUserDao userDao;public User selectUser(long userId) {return userDao.selectUser(userId);}
}

controller文件:UserController

package com.xjt.controller;import com.xjt.model.User;
import com.xjt.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate IUserService userService;@RequestMapping("/select")public ModelAndView selectUser() throws Exception {ModelAndView mv = new ModelAndView();User user = userService.selectUser(1);mv.addObject("user", user);mv.setViewName("user");return mv;}
}

UserController定義了一個方法selectUser,讀取id為1的User信息,并返回user.jsp頁面,訪問的路徑是/user/select,user.jsp位于 WEB-INF 的 jsp 文件夾下,代碼如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>user</title>
</head>
<body>id:${requestScope.user.id}<br/>email:${requestScope.user.email}<br/>username:${requestScope.user.username}<br/>role:${requestScope.user.role}<br/>mobile:${requestScope.user.mobile}<br/>
</body>
</html>

都編寫完畢以后,撤銷applicationContext.xml文件的注釋符號,然后開啟項目,成功后在瀏覽器輸入http://localhost:8080/user/select

1478697-20190125174457654-1191439004.png

頁面成功的返回了User信息,說明,我們成功訪問到了數據庫的內容。

至此,SSM項目的搭建大功告成,為了方便大家學習,我把源碼放在了github上了,有需要的同學可以自行下載,地址:https://github.com/Taoxj/mvcDemo

轉載于:https://www.cnblogs.com/yeya/p/10320885.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395289.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395289.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

浙江理工大學計算機組成原理試卷,浙江理工大學計算機組成原理設計試題.doc...

計算機組成原理課程設計報告2013/2014第二學期指導教師&#xff1a;許建龍 張芳班級&#xff1a;12計科2班姓名&#xff1a;學號&#xff1a; 計算機組成原理大型實驗任務書(計算機12級1、2、3班和實驗班)實驗目的&#xff1a;深入了解計算機各種指令的執行過程&#xff0c;以及…

mac vagrant 虛擬機nfs掛載點

需求&#xff1a;在mac 上安裝了虛擬機&#xff0c;虛擬機系統為centos6.5&#xff0c;現在希望講虛擬機上點目錄通過nfs共享給mac使用 下面主要描述通過nfs共享目錄給mac調用的過程 過程參考網址&#xff1a; http://www.moqifei.com/archives/1534 &#xff08;我主要參考的這…

nodejs中require的路徑是一個文件夾時發生了什么

node中使用require的時候如果路徑是一個文件夾時&#xff0c;或者特殊的情況require(..);require(.); 這是node實戰這本書里說的情況&#xff0c;但是我在node6.9版本中發現不完全是這樣&#xff0c;可能是后來做了修改。下面說說在6.9下require路徑的過程。 這里以require(.)說…

python調用ctypes中windll中的方法超時處理_python中使用ctypes調用MinGW生成的動態鏈接庫(dll)...

關于gcc編譯dll的我就不說了&#xff0c;網上舉例一大堆&#xff0c;下面以g為例。假設有一個test.cpp文件如下&#xff1a;extern "C" {__declspec(dllexport) double add(double x,double y);}double add(double x,double y){return xy;}在MinGW中使用g編譯&#x…

慣用過程模型_慣用的Ruby:編寫漂亮的代碼

慣用過程模型Ruby is a beautiful programming language.Ruby是一種美麗的編程語言。 According to Ruby’s official web page, Ruby is a:根據Ruby的官方網頁&#xff0c;Ruby是&#xff1a; “dynamic, open source programming language with a focus on simplicity and …

采用晶體管為基本元件的計算機發展階段是,計算機應用基礎知識點

第一章 計算機基礎知識1、計算機發展階段第一代&#xff1a;電子管計算機采用電子管為基本元件&#xff0c;設計使用機器語言或匯編語言。要用于科學和工程計算 第二代&#xff1a;晶體管計算機采用晶體管為基本元件&#xff0c;程序設計采用高級語言&#xff0c;出現了操作系統…

springcloud系列三 搭建服務模塊

搭建服務模塊為了模擬正式開發環境,只是少寫了service層直接在controller里面直接引用,直接上圖和代碼:更為方便: 創建完成之后加入配置: pom.xml文件: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM…

P1801 黑匣子_NOI導刊2010提高(06)

題目描述 Black Box是一種原始的數據庫。它可以儲存一個整數數組&#xff0c;還有一個特別的變量i。最開始的時候Black Box是空的&#xff0e;而i等于0。這個Black Box要處理一串命令。 命令只有兩種&#xff1a; ADD(x):把x元素放進BlackBox; GET:i加1&#xff0c;然后輸出Bla…

MySql模糊查詢

常規like的使用限制&#xff1a; 1. like %keyword &#xff1a;索引失效&#xff0c;使用全表掃描。但可以通過翻轉函數like前模糊查詢建立翻轉函數索引走翻轉函數索引&#xff0c;不走全表掃描。 2. like keyword% &#xff1a;索引有效。 3. like %keyword% &#xff1a;索引…

python psycopg2使用_python?操作數據庫:psycopg2的使用

1 conn psycopg2.connect(database"testdb", user"postgres",password"cohondob", host"127.0.0.1", port"5432")這個API打開一個連接到PostgreSQL數據庫。如果成功打開數據庫時&#xff0c;它返回一個連接對象。2cursor c…

軟件測試人員棘手的問題,èí?t2aê?μ???ê??êìa£oè?o?±ü?a???′ìá??è±?Y...

¡¡¡¡£££©£¡££¡££££©©£¡¡¡¡¡BUG£££¢¡£££¡££¡£¡£——£…

機器學習實用指南_機器學習方法:實用指南

機器學習實用指南by Karlijn Willems通過Karlijn Willems 機器學習方法&#xff1a;實用指南 (How Machines Learn: A Practical Guide) You may have heard about machine learning from interesting applications like spam filtering, optical character recognition, and …

本地倉庫settings.xml中使用阿里的倉庫

背景 當前使用eclipse自帶的maven碰到兩個蛋疼的問題&#xff1a; maven在國內使用如果不進行FQ則會痛苦不堪如便秘。maven下載大量jar包導致某盤不夠用&#xff0c;需要換大的分區。因此為了解決這個問題就介紹兩個eclipse配置&#xff1a;maven本地路徑配置和maven外部路徑配…

day6_python之md5加密

#md5是不可逆的&#xff0c;就是沒有辦法解密的 Python內置哈希庫對字符串進行MD5加密的方法-hashlibimport hashlib def my_md5(s,salt): #用函數&#xff0c;為了提高代碼的復用率s ssalt #1.必須是字符串news str(s).encode() #2.字符串需要encode編碼后&#xff0…

異步服務_微服務全鏈路異步化實踐

1. 背景隨著公司業務的發展&#xff0c;核心服務流量越來越大&#xff0c;使用到的資源也越來越多。在微服務架構體系中&#xff0c;大部分的業務是基于Java 語言實現的&#xff0c;受限于Java 的線程實現&#xff0c;一個Java 線程映射到一個kernel 線程&#xff0c;造成了高并…

win7打開計算機死機,怎么樣解決Win7系統運行程序引起的死機問題

Win7系統不僅需要使用到電腦中自帶的一些程序&#xff0c;同時&#xff0c;也需要在win7旗艦版電腦中有選擇的自己去安裝一些程序。但是經常有用戶會碰到Win7電腦突然跳出運行程序未響應&#xff0c;出現電腦死機的情況&#xff0c;特別是開的瀏覽器窗口多的時候更是死機的頻繁…

(poj)1064 Cable master 二分+精度

題目鏈接&#xff1a;http://poj.org/problem?id1064 DescriptionInhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to organize the most honest contest ever. It was decided…

PHP中如何解決高并發

PHP中如何解決高并發 1&#xff1a;硬件方面 普通的一個p4的服務器每天最多能支持大約10萬左右的IP&#xff0c;如果訪問量超過10W那么需要專用的服務器才能解決&#xff0c;如果硬件不給力 軟件怎么優化都是于事無補的。主要影響服務器的速度 有&#xff1a;網絡-硬盤讀寫速度…

es6 迭代器_揭秘ES6迭代器和迭代器

es6 迭代器by Tiago Lopes Ferreira由Tiago Lopes Ferreira 揭秘ES6迭代器和迭代器 (Demystifying ES6 Iterables & Iterators) ES6 introduces a new way to interact with JavaScript data structures — iteration. Let’s demystify it.ES6引入了一種與JavaScript數據…

JS之this與語句分號問題v(**V**)v

1 <script >2 //this知識 單詞知識&#xff1a;property&#xff1a;屬性 prototype&#xff1a;原型3 //*Q&#xff1a;什么是this&#xff1f;4 //*A&#xff1a;所有函數內部都有一個this&#xff0c;任何函數本質上都是通過某個對象來調用的&#xff0c;…