ssh项目环境搭建步骤(web项目)

下面是ssh项目环境搭建步骤的完整攻略:

1. 需要的软件

在搭建ssh项目环境前,我们需要先安装以下软件:
1. JDK:java开发环境。
2. Tomcat:web应用服务器,本次攻略以Tomcat 9为例。
3. MySQL:关系型数据库,本次攻略以MySQL 8.0为例。
4. Maven:项目构建工具。

2. 环境设置

2.1 JDK环境变量配置

在系统环境变量中新建JAVA_HOME变量,将JDK所在的安装路径作为该变量的值,例如:C:\Program Files\Java\jdk1.8.0_291

在系统环境变量的Path变量中新增%JAVA_HOME%\bin,方便使用java命令。

2.2 Tomcat设置

在Tomcat的conf目录下找到server.xml文件,修改如下配置:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

port改为其他未被占用的端口号,例如:8888

2.3 MySQL数据库设置

进入MySQL的安装目录,找到my.ini文件,修改以下参数:

[client]
port=3306

[mysql]
default-character-set=utf8

[mysqld]
basedir=C:/mysql-8.0.25-winx64
datadir=C:/mysql-8.0.25-winx64/Data
port=3306
character-set-server=utf8

port改为其他未被占用的端口号,例如:3308

2.4 Maven设置

在Maven的安装目录下找到conf目录,修改settings.xml文件,添加如下mirrors配置:

<mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

3. 创建Web项目

从Maven仓库中找到适合的ssh项目模板,在命令行使用mvn archetype:generate命令创建一个架子项目。

mvn archetype:generate -DgroupId=com.example -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

该命令将创建一个名为myapp的web项目,项目的包名为com.example

4. 配置ssh框架

4.1 添加相关依赖

pom.xml中添加以下依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>4.3.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>4.3.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.1.0.Final</version>
</dependency>

<dependency>
    <groupId>c3p0</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.1.2</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
</dependency>

4.2 配置Hibernate.cfg.xml

在项目的src/main/resources目录下新建Hibernate.cfg.xml文件,并添加如下配置:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
   "-//Hibernate/Hibernate Configuration DTD//EN"
   "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
   <session-factory>
      <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
      <property name="hibernate.connection.url">jdbc:mysql://localhost:3308/myapp</property>
      <property name="hibernate.connection.username">root</property>
      <property name="hibernate.connection.password">123456</property>

      <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
      <property name="show_sql">true</property>
      <property name="format_sql">true</property>

      <mapping resource="com/example/myapp/model/User.hbm.xml"/>
   </session-factory>
</hibernate-configuration>

4.3 实体类和映射文件

新建一个实体类User.java,并在src/main/resources目录下新建一个映射文件User.hbm.xml,将User类映射到数据库表中。

package com.example.myapp.model;

public class User {
    private Long id;
    private String username;
    private String password;

    // getter and setter
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.example.myapp.model.User" table="t_user">
        <id name="id" column="id" type="java.lang.Long">
            <generator class="native"/>
        </id>
        <property name="username" column="username" type="java.lang.String"/>
        <property name="password" column="password" type="java.lang.String"/>
    </class>
</hibernate-mapping>

4.4 创建Service和Dao层代码

src/main/java目录下创建Service和Dao层的Java代码,可以参考以下示例:

package com.example.myapp.service;

import com.example.myapp.dao.UserDao;
import com.example.myapp.model.User;

public class UserService {
    private UserDao userDao;

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    public User getUserById(Long id) {
        return userDao.getUserById(id);
    }
}
package com.example.myapp.dao;

import com.example.myapp.model.User;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public class UserDao {
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

    public User getUserById(Long id) {
        return sessionFactory.getCurrentSession().get(User.class, id);
    }
}

4.5 Spring配置

src/main/resources目录下新建applicationContext.xml文件,配置Spring框架相关内容,具体配置可以参考以下示例:

<?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"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

    <bean id="dataSource"
          class="com.mchange.v2.c3p0.ComboPooledDataSource"
          destroy-method="close">
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3308/myapp"/>
        <property name="user" value="root"/>
        <property name="password" value="123456"/>
    </bean>

    <bean id="sessionFactory"
          class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan" value="com.example.myapp.model"/>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL57InnoDBDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
    </bean>

    <bean id="transactionManager"
          class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="userDao" class="com.example.myapp.dao.UserDao">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="userService" class="com.example.myapp.service.UserService">
        <property name="userDao" ref="userDao"/>
    </bean>
</beans>

5. 测试代码

首先需要在MySQL数据库中创建一个名为myapp的数据库,然后使用以下示例代码,测试ssh项目是否能够正常工作。

package com.example.myapp;

import com.example.myapp.model.User;
import com.example.myapp.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        UserService userService = (UserService) context.getBean("userService");
        User user = userService.getUserById(1L);
        System.out.println(user.getUsername());
    }
}

以上就是ssh项目环境搭建步骤的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ssh项目环境搭建步骤(web项目) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • MyBatis深入解读动态SQL的实现

    “MyBatis深入解读动态SQL的实现”涉及到了MyBatis框架中的动态SQL语句的实现。这篇文章将从动态SQL语句的概念、实现方式、优化等多个方面进行介绍,让读者能够更好地理解和使用MyBatis。 动态SQL语句的概念 动态SQL语句是指根据不同的条件生成不同SQL语句的技术。在MyBatis中,动态SQL语句可以通过if、choose、when、o…

    Java 2023年5月20日
    00
  • jsp实现从服务器下载xls文件到客户端的方法

    实现从服务器下载xls文件到客户端通常可以通过以下步骤来完成: 服务器端准备Excel文件 首先需要在服务器端生成或获取Excel文件。一种常见的方式是使用Java POI库来动态生成Excel文件。例如,以下代码可以生成一个包含数据的Excel文件: // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创…

    Java 2023年6月15日
    00
  • JAVA中String介绍及常见面试题小结

    来一份JAVA中String介绍及常见面试题小结的完整攻略吧。 JAVA中String介绍及常见面试题小结 String是什么 String是JAVA中的一个类,代表字符串类型。字符串就是由0个或多个字符组成的有序字符序列,JAVA中通过String类型来表示字符串。 String的特点 不可变性 String对象一旦被创建,便不能被修改。因此,每个字符串对…

    Java 2023年5月27日
    00
  • 强烈推荐这些提升代码效率的IDEA使用技巧

    强烈推荐这些提升代码效率的IDEA使用技巧 作为一名开发人员,我们的效率直接关系到项目的进度和成功。同时,我们要时刻关注提高自己的编程技能和使用工具。为此,我们推荐以下几点提高效率的IDEA使用技巧。 1. 使用IDEA的智能提示 当你写代码时,IDEA带来了智能提示的快捷方式。只要输入类,变量或方法名称的一部分,就可以让IDEA自动完成功能名称。使用快捷键…

    Java 2023年5月23日
    00
  • Spring动态配置计时器触发时间的实例代码

    关于“Spring动态配置计时器触发时间的实例代码”的实现过程,可以按照以下步骤进行: 1.引入相关依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId&g…

    Java 2023年6月1日
    00
  • Java文件与类动手动脑实例详解

    下面是“Java文件与类动手动脑实例详解”的完整攻略。 1. 什么是Java文件与类? Java文件是以.java为扩展名的文件,它包含Java程序的源代码。而Java类则是这些源代码中定义的一个个类,它们是Java程序的基本构建块。 Java文件命名规范与类名一致,比如,名为MyClass的类,应该存在名为MyClass.java的Java文件中。 2. …

    Java 2023年5月19日
    00
  • SpringBoot 替换 if 的参数校验示例代码

    下面是关于SpringBoot替换if的参数校验示例代码的完整攻略。 什么是参数校验 参数校验是指对输入参数的正确性进行检查,以保证系统可以正常的运行,常见的校验项包括非空校验、数据格式校验、数据范围校验等。 传统的参数校验方式 传统的参数校验是通过if或者switch等条件语句实现的,例如: public boolean check(String name…

    Java 2023年5月20日
    00
  • 使用idea搭建一个spring mvc项目的图文教程

    下面是使用Idea搭建一个Spring MVC项目的详细攻略。 安装Idea:首先,我们需要安装Idea开发工具。可以去JetBrains官网下载最新版的Idea,并安装配置。 创建一个Maven项目:在Idea中选择File -> New -> Project,然后选择Maven项目模板。 配置pom.xml:在Maven项目中,pom.xml…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部