开发者社区> 程序界小强> 正文

SpringMVC+Mybatis整合的增删改查

简介: 本文基于 SPRING注解。本文使用Oracle数据库。 项目文件下载地址:http://download.csdn.net/detail/u010634066/8188965 项目总图: 现在lib中导入所有所需jar包:这里就不叙述了 一:在SRC下创建一个Bean包;在bean下面添加实体类,实体类对应于数据表,其属性与数据表相同或多于数据表。
+关注继续查看

本文基于 SPRING注解。本文使用Oracle数据库。

项目文件下载地址:http://download.csdn.net/detail/u010634066/8188965

项目总图:

\


现在lib中导入所有所需jar包:这里就不叙述了

一:在SRC下创建一个Bean包;在bean下面添加实体类,实体类对应于数据表,其属性与数据表相同或多于数据表。

package com.szz.bean;
 
import com.szz.base.bean.BaseObject;
 
 
  
/**
 * @author Administrator
 *
 */
public class User extends BaseObject {
         
    private String ID;
    /**
     * @return the iD
     */
    public String getID() {
        return ID;
    }
    /**
     * @param iD the iD to set
     */
    public void setID(String iD) {
        ID = iD;
    }
    /**
     * @return the nAME
     */
    public String getNAME() {
        return NAME;
    }
    /**
     * @param nAME the nAME to set
     */
    public void setNAME(String nAME) {
        NAME = nAME;
    }
    /**
     * @return the pASSWORD
     */
    public String getPASSWORD() {
        return PASSWORD;
    }
    /**
     * @param pASSWORD the pASSWORD to set
     */
    public void setPASSWORD(String pASSWORD) {
        PASSWORD = pASSWORD;
    }
    private String NAME;
    private String PASSWORD;
    /* (non-Javadoc)
     * @see com.szz.base.bean.BaseObject#toString()
     */
    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return "User [ID=" + ID + ", NAME=" + NAME + ", PASSWORD=" + PASSWORD
                + "]";
 
 }
     
}

二、创建com.szz.dao包;里面用来定义需要对数据进行操作的实体类型DAO接口

package com.szz.dao;
 
import java.util.List;
 
import com.szz.bean.User;
 
/**
 * @author Administrator
 *
 */
public interface UserDao {
 
    /*
     * 查询
     */
    public List<user> selectAll();
 
    public User findById(String id);
     
    public User findByUserName(String userName);
     
    public int countAll();
     
    /*
     * 更新删除插入
     */
    public int insert(User user);
     
    public int update(User user);
     
    public int delete(String userName);
     
/*  //返回插入数据的ID
    public int findInsertUserID(User user);*/
     
    /*//批处理   插入多条数据
    public void insertUsers(List<user> users);*/
     
}

三、创建包com.szz.tables.xml(这样命名好像不好 定义com.szz.Mappers比较直观一点) 这个是用来写sql语句的xml文件 

<!--?xml version="1.0" encoding="UTF-8" ?-->  
  
  
 <!-- 这里定义好命名空间 -->
 <mapper namespace="com.szz.dao.UserDao">
    <select id="selectAll" resulttype="User">
        select * from SM_USER 
    </select>
     
    <select id="countAll">
        select count(*) c from SM_USER 
    </select>
     
    <select id="findById" parametertype="String" resulttype="User">
        select * from SM_USER where ID=#{ID}
    </select>
     
    <select id="findByUserName" parametertype="String" resulttype="User">
        select * from SM_USER where NAME=#{NAME}
    </select>
     
     
    <!-- <select id="findInsertUserID" paramterType="Srtring">
        select ID FROM SM_USER NAME =#{User.NAME}
    </select> -->
    <insert id="insert" parametertype="User">
        insert into SM_USER(ID,NAME,PASSWORD) VALUES(#{ID},#{NAME},#{PASSWORD})
    </insert>
     
     
    <update id="update" parametertype="User">
        update SM_USER 
        <set>
        <!-- 这里要注意后面的    逗号“,”  因为有多个参数需要用逗号隔开  否则会报错 -->
            <if test="NAME!=null">NAME=#{NAME},</if>
            <if test="PASSWORD!=null">PASSWORD=#{PASSWORD}</if>
        </set>
            where ID=#{ID}
    </update>
     
    <delete id="delete" parametertype="String">
        delete FROM SM_USER WHERE ID=#{ID}
    </delete>
 </mapper>

命名空间定义为我们需要对应的DAO接口;这里每个方法的ID都跟DAO里面的方法一一对应;

还有说明一下

1
parameterType="User"
如果你没有在mybatis配置文件里面定义别名 这样写就会报错 你要把全类名写清楚
1
2
3
<typealiases>
       <typealias type="com.szz.bean.User" alias="User">
   </typealias></typealiases>
四、spring的配置文件 spring-context.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemalocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context.xsd
           http://www.springframework.org/schema/mvc
           http://www.springframework.org/schema/mvc/spring-mvc.xsd
           http://www.springframework.org/schema/jee
           http://www.springframework.org/schema/jee/spring-jee.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop.xsd
           http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx.xsd">
 
     
     
      <!-- 启动扫描szz下所有的注解--> 
    <context:component-scan base-package="com.szz">
     
    <mvc:annotation-driven ignore-default-model-on-redirect="true"> 
 
    <mvc:default-servlet-handler>
    <!-- 可通过注解控制事务
    <tx:annotation-driven />   -->  
     
    <!-- 导入外部的资源文件   一般都会把数据源的配置文件房子properties文件里面  然后用这种方式来导入  
    <context:property-placeholder location="classpath:jdbc.properties"/>-->
     
       <!--   
    配置DataSource数据源   配置mysql方式
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8" />
        <property name="username" value="root" />
        <property name="password" value="root" />
        <property name="maxActive" value="5" />
        <property name="maxIdle" value="3" />
        <property name="maxWait" value="1000" />
        <property name="defaultAutoCommit" value="true" />
        <property name="removeAbandoned" value="true" />
        <property name="removeAbandonedTimeout" value="60" />
    </bean>  -->
 
    <!-- 配置DataSource数据源    oracle方式-->
  
     
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
                  
                <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:myoracle">
                 
                <property name="username" value="SRC">
                <property name="password" value="src123456">
                 
 
    </property></property></property></property></bean> 
     
     
     
     
    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx 
    <bean id="transactionManager" 
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource" />  
    </bean>  -->  
     
      
<!-- 创建SqlSessionFactory,同时指定数据源 
 
 <span id="blogcontent" style="font-family:tahoma, arial, 宋体, sans-serif;line-height: 24px; background-color: #ffffff;">SqlSession也是由SqlSessionFactory来产生的,但是Mybatis-Spring给我们封装了一个SqlSessionFactoryBean,
在这个bean里面还是通过SqlSessionFactoryBuilder来建立对应的SqlSessionFactory,进而获取到对应的SqlSession。
通过SqlSessionFactoryBean我们可以通过对其指定一些属性来提供Mybatis的一些配置信息。
所以接下来我们需要在Spring的applicationContext配置文件中定义一个SqlSessionFactoryBean。</span>
  -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource">
         
        <property name="mapperLocations" value="classpath:com/szz/tables/xml/*.xml"> 
              
         <property name="configLocation" value="classpath:mybatis-config.xml"></property>  
    </property></property></bean> 
     
     
     
     
     <!-- jsp页面解析器,当Controller返回XXX字符串时,先通过拦截器,然后该类就会在/WEB-INF/views/目录下,查找XXX.jsp文件-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/">
        <property name="suffix" value=".jsp">
    </property></property></bean>
     
     
     
     
 <!--  
    Mapper接口所在包名,Spring会自动查找其下的Mapper  
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="com.szz.dao" />  
    </bean>  
     -->
     
    <!-- ,MapperFactoryBean会从它的getObject方法中获取对应的Mapper接口,
    而getObject内部还是通过我们注入的属性调用
    SqlSession接口的getMapper(Mapper接口)方法来返回对应的Mapper接口的 -->
     
   <!-- 用户Dao -->
    <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  
        <property name="mapperInterface" value="com.szz.dao.UserDao">  
        <property name="sqlSessionFactory" ref="sqlSessionFactory">  
    </property></property></bean>
     
     
     
</mvc:default-servlet-handler></mvc:annotation-driven></context:component-scan></beans>

配置文件说明: 详情见http://www.blogjava.net/ldwblog/archive/2013/07/10/401418.html


在定义SqlSessionFactoryBean的时候,dataSource属性是必须指定的,它表示用于连接数据库的数据源。当然,我们也可以指定一些其他的属性,下面简单列举几个:

  • mapperLocations:它表示我们的Mapper文件存放的位置,当我们的Mapper文件跟对应的Mapper接口处于同一位置的时候可以不用指定该属性的值。

  • configLocation:用于指定Mybatis的配置文件位置。如果指定了该属性,那么会以该配置文件的内容作为配置信息构建对应的SqlSessionFactoryBuilder,但是后续属性指定的内容会覆盖该配置文件里面指定的对应内容。

  • typeAliasesPackage:它一般对应我们的实体类所在的包,这个时候会自动取对应包中不包括包名的简单类名作为包括包名的别名。多个package之间可以用逗号或者分号等来进行分隔。

  • typeAliases:数组类型,用来指定别名的。指定了这个属性后,Mybatis会把这个类型的短名称作为这个类型的别名,前提是该类上没有标注@Alias注解,否则将使用该注解对应的值作为此种类型的别名。

    • plugins:数组类型,用来指定Mybatis的Interceptor。

    • typeHandlersPackage:用来指定TypeHandler所在的包,如果指定了该属性,SqlSessionFactoryBean会自动把该包下面的类注册为对应的TypeHandler。多个package之间可以用逗号或者分号等来进行分隔。

    • typeHandlers:数组类型,表示TypeHandler


    • 接下来就是在Spring的applicationContext文件中定义我们想要的Mapper对象对应的MapperFactoryBean了。通过MapperFactoryBean可以获取到我们想要的Mapper对象。MapperFactoryBean实现了Spring的FactoryBean接口,所以MapperFactoryBean是通过FactoryBean接口中定义的getObject方法来获取对应的Mapper对象的。在定义一个MapperFactoryBean的时候有两个属性需要我们注入,一个是Mybatis-Spring用来生成实现了SqlSession接口的SqlSessionTemplate对象的sqlSessionFactory;另一个就是我们所要返回的对应的Mapper接口了。

      定义好相应Mapper接口对应的MapperFactoryBean之后,我们就可以把我们对应的Mapper接口注入到由Spring管理的bean对象中了,比如Service bean对象。这样当我们需要使用到相应的Mapper接口时,MapperFactoryBean会从它的getObject方法中获取对应的Mapper接口,而getObject内部还是通过我们注入的属性调用SqlSession接口的getMapper(Mapper接口)方法来返回对应的Mapper接口的。这样就通过把SqlSessionFactory和相应的Mapper接口交给Spring管理实现了Mybatis跟Spring的整合。

      对应xml
<!-- 用户Dao -->
   <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  
       <property name="mapperInterface" value="com.szz.dao.UserDao">  
       <property name="sqlSessionFactory" ref="sqlSessionFactory">  
   </property></property></bean>

MapperScannerConfigurer

利用上面的方法进行整合的时候,我们有一个Mapper就需要定义一个对应的MapperFactoryBean,当我们的Mapper比较少的时候,这样做也还可以,但是当我们的Mapper相当多时我们再这样定义一个个Mapper对应的MapperFactoryBean就显得速度比较慢了。为此Mybatis-Spring为我们提供了一个叫做MapperScannerConfigurer的类,通过这个类Mybatis-Spring会自动为我们注册Mapper对应的MapperFactoryBean对象。

如果我们需要使用MapperScannerConfigurer来帮我们自动扫描和注册Mapper接口的话我们需要在Spring的applicationContext配置文件中定义一个MapperScannerConfigurer对应的bean。对于MapperScannerConfigurer而言有一个属性是我们必须指定的,那就是basePackage。basePackage是用来指定Mapper接口文件所在的基包的,在这个基包或其所有子包下面的Mapper接口都将被搜索到。多个基包之间可以使用逗号或者分号进行分隔。最简单的MapperScannerConfigurer定义就是只指定一个basePackage属性,如:

Xml代码

bean>

这样MapperScannerConfigurer就会扫描指定基包下面的所有接口,并把它们注册为一个个MapperFactoryBean对象。

五、创建mybatis-config.xml

<!--?xml version="1.0" encoding="UTF-8"?-->
   
<configuration>
     
 
 
<!--    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:LEARN" />
                <property name="username" value="system" />
                <property name="password" value="src123456" />
            </dataSource>
        </environment>
    </environments> -->
<!--别名定义-->
 <typealiases>
        <typealias type="com.szz.bean.User" alias="User">
    </typealias></typealiases> 
 
  
  
 
    <!-- 映射文件,存放sql语句的配置文件 -->
    <!-- <mappers>
        <mapper resource="com/szz/tables/xml/UserDaoMapper.xml" />
    </mappers> -->
</configuration>

六、创建services接口

package com.szz.service;
 
import java.util.List;
 
import com.szz.bean.User;
 
public interface UserService {
 
    public List<user> getUsers();
     
    /*
     * 濡傛灉ID涓虹┖灏辨壘username    濡傛灉username涓虹┖灏辨壘ID锛?閮藉~鎸夌収ID
     */
    public User getUserInfo(String ID,String userName);
     
    public int getCount();
     
     
//  public int saveUser(User user);
     
    public int insertUser(User user);
    public int updateUser(User user);
     
    public int deleteUser(String ID);
}

七‘services接口的实现类 serviceImpl

*/
package com.szz.service.impl;
 
import java.util.List;
 
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import com.szz.bean.User;
import com.szz.dao.UserDao;
import com.szz.service.UserService;
 
/**
 * @author Administrator
 *
 */
@Service("userService")
public class UserServiceImpl implements UserService {
 
    @Autowired
    private UserDao userDao;
    /*
    @Autowired
    private SqlSessionTemplate sessionTemplate;*/
     
 
    public UserDao getUserDao() {
        return userDao;
    }
 
    /**
     * @param userDao the userDao to set
     */
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
 
    @Override
    public List<user> getUsers() {
        // TODO Auto-generated method stub
        return userDao.selectAll();
        //return sessionTemplate.getMapper(UserDao.class).selectAll();
    }
 
    @Override
    public User getUserInfo(String ID, String userName) {
        // TODO Auto-generated method stub
        if(ID!=null){
            return userDao.findById(ID);
        }
        else
            return userDao.findByUserName(userName);
    }
 
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return userDao.countAll();
    }
 
    @Override
    public int insertUser(User user) {
        // TODO Auto-generated method stub
            return userDao.insert(user);
    }
     
    @Override
    public int updateUser(User user) {
        // TODO Auto-generated method stub
            return userDao.update(user);
    }
 
    @Override
    public int deleteUser(String ID) {
        // TODO Auto-generated method stub
        return userDao.delete(ID);
    }
     
     
}

八、创建控制类controller包/**

package com.szz.action;
 
import java.util.ArrayList;
import java.util.List;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
 
 
import com.szz.base.acion.BaseAction;
import com.szz.bean.User;
import com.szz.service.UserService;
 
/**
 * @author Administrator
 *
 */
@Controller
@RequestMapping(value="/user")
public class UserAction extends BaseAction {
    @Autowired
    private UserService userService;
     
     
     
    @RequestMapping(value="/login",method=RequestMethod.POST)
        public String login(){ 
         
            return "redirect:/user/userList";
        }
      
    @RequestMapping(value="userList")
    public ModelAndView showAll(){
        System.out.println("index......");
        ModelAndView MV = new ModelAndView("user/index");
        List<user> userList = new ArrayList<user>();
        userList = userService.getUsers();
        MV.addObject("userList",userList);
        return MV;
    }
    @RequestMapping(value="/add")
    public ModelAndView login(HttpServletRequest request,@RequestParam(value="username", required=true, defaultValue="szz") String name){ 
        System.out.println("/user/login....");
        ModelAndView mv = new ModelAndView("user/success");  
        mv.addObject("add", "娣诲姞"); 
        return mv;  
    }
    @RequestMapping(value="/edituser")
    public ModelAndView edit(@RequestParam(value="ID") String ID){
        ModelAndView mv = new ModelAndView("user/edit");
        User user = userService.getUserInfo(ID, null);
        mv.addObject("user",user);
        return mv;
    }
     
    @RequestMapping(value="/deleteuser")
    public String deleteuser(@RequestParam(value="ID") String ID){
        userService.deleteUser(ID);
        return "redirect:/user/userList";
    }
    @RequestMapping(value="/userset",method=RequestMethod.POST)  
    public String user(@ModelAttribute("user")User user ) {
         System.out.println(user.getNAME());
         return "user/success";   
    }
     
    @RequestMapping(value="/insertuser",method=RequestMethod.POST)  
    public String insertUser( User userInfo ) throws Exception {  
        userService.insertUser(userInfo);
        return "redirect:/user/userList";
    }
     
    @RequestMapping(value="/updateuser",method=RequestMethod.POST)  
    public String updateUser( User userInfo ) throws Exception {  
        userService.updateUser(userInfo);
        return "redirect:/user/userList";
    }
     
}

九、web.xml

<!--?xml version="1.0" encoding="UTF-8"?-->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     
     
     <servlet>
        <servlet-name>Dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath*:spring-context.xml
            </param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
     
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

index.jsp
	
<form action="/SpringMvcMybatisFreeMarker/user/login" method="post">
     用户ID:<input name="id" value="" type="text">
     <br>用户名称:<input id="username" name="username" value="" type="text">
     <br>用户密码:<input name="password" value="" type="text">
     <br><input value="提交" type="submit">
</form>

user/index.jsp

<form action="user/insertuser" method="post">
<table>
 
        <tbody><tr>
          
        <th>ID</th>
        <td><input name="ID" type="text"> </td>
    </tr>
    <tr>
    </tr><tr>
          
        <th>账号</th>
        <td><input name="NAME" type="text"> </td>
    </tr>
    <tr>
          
        <th>密码</th>
        <td><input name="PASSWORD" type="text"></td>
    </tr>
    <tr>
        <td colspan="2"><input value="添加" type="submit"> </td>
    </tr>
</tbody></table>
</form>
 
<c:foreach items="${userList}" var="user">
    </c:foreach><table>
    <tbody><tr>
        <th>id</th>
        <th>账号</th>
        <th>密码</th>
        <th>功能</th>
    </tr>
      
    <tr>
        <td>${user.ID}</td>
        <td>${user.NAME}</td>
        <td>${user.PASSWORD}</td>
        <td>修改   删除 </td>
    </tr>
  
</tbody></table>

user/edit.jsp

<form action="user/updateuser" method="post">
<input name="ID" value="${user.ID}" type="text">
<table>
    <tbody><tr> 
        <th>账号</th>
        <td><input name="NAME" value="${user.NAME}" type="text"></td>
    </tr>
    <tr>
          
        <th>密码</th>
        <td><input name="PASSWORD" value="${user.PASSWORD}" type="text"></td>
    </tr>
    <tr>
        <td colspan="2"><input value="修改" type="submit"> </td>
    </tr>
</tbody></table>
</form> 

访问:http://localhost:8080/SpringMvcMybatisFreeMarker/index.jsp

/**本文链接/http://www.2cto.com/kf/201411/354983.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19335 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18587 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
32650 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
13182 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
13356 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34312 0
+关注
程序界小强
一个不仅仅会写代码的码农。。。
122
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载