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日

相关文章

  • JSP代码实现 金字塔(倒置)示例

    下面我将为你详细讲解“JSP代码实现金字塔(倒置)示例”的完整攻略。 1. 编写 JSP 页面 我们首先需要编写一个 JSP 页面来实现金字塔倒置的功能。在 JSP 页面中,我们需要使用嵌入式 Java 代码来实现金字塔倒置的逻辑。以下是一个示例的 JSP 页面: <%@ page language="java" contentTy…

    Java 2023年6月15日
    00
  • 常见的排序算法,一篇就够了

    常见的排序算法 排序算法是计算机程序中常见的基本操作之一,它的作用是将一组无序的数据按照某种规则进行排序。在实际的开发中,经常需要对数据进行排序,比如搜索引擎中对搜索结果的排序、电商网站中对商品的排序等。 目前常见的排序算法有多种,下面将对一些常见的排序算法进行介绍: 1. 冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数据,每次比较相邻的两个…

    Java 2023年5月19日
    00
  • 详解Spring与Mybatis的整合方法(基于Eclipse的搭建)

    下面是详细讲解“详解Spring与Mybatis的整合方法(基于Eclipse的搭建)”的完整攻略。 准备工作 首先要确保Eclipse中已经安装好Spring和Mybatis的插件(可以在“Marketplace”中搜索安装)。然后需要准备好数据库和相关的配置文件。 整合步骤 新建Maven项目,选择需要的包和依赖。 新建数据库,在Mybatis的配置文件…

    Java 2023年5月19日
    00
  • 多模字符串匹配算法原理及Java实现代码

    多模字符串匹配算法原理及Java实现代码攻略 多模字符串匹配算法是在一个文本串中同时匹配多个模式串的算法。常见的多模匹配算法有Trie树、AC自动机等,本文介绍的是KMP算法。 KMP算法原理 KMP算法的核心思想是利用已知信息,避免不必要的匹配。即:对于模式串中的每一个位置,找到该位置之前的子串的最长公共前后缀,并记录在next[]数组中。当匹配过程中发生…

    Java 2023年5月19日
    00
  • 手把手教你如何获取微信用户openid

    下面是详细讲解“手把手教你如何获取微信用户openid”的完整攻略。 准备工作 申请微信公众号账号,开通开发者模式。 在公众号开发者中心配置服务器相关信息。 获取 openid 方法一:利用微信网页授权机制获取 在微信公众平台开发者中心,打开网页开发,配置公众号授权域名,并设置网页授权的回调域名。 在前端页面中,引入微信JS-SDK,并使用 wx.confi…

    Java 2023年5月23日
    00
  • 深入理解JVM垃圾回收算法

    深入理解JVM垃圾回收算法:完整攻略 Java虚拟机(JVM)是Java平台的核心组件,负责在不同硬件和操作系统之间提供一致的Java运行环境。JVM垃圾回收算法是JVM的最重要的组成部分之一,它负责管理Java应用程序运行时产生的内存,确保程序运行期间的内存分配和回收的顺利进行。 理解垃圾回收算法的基本原理 垃圾回收算法的基本原理是通过扫描Java应用程序…

    Java 2023年5月19日
    00
  • jEdit Java编辑器汉化教程 附中文补丁下载地址

    以下是“jEdit Java编辑器汉化教程 附中文补丁下载地址”的完整攻略。 什么是jEdit编辑器? jEdit是一个功能强大的Java代码编辑器,同时也可用于编辑其他类型的文本文件。jEdit支持许多插件和可配置选项,使其成为高度可定制和灵活的文本编辑器。 如何汉化jEdit编辑器? 以下是汉化jEdit编辑器的步骤: 第一步:下载中文语言包 可以通过以…

    Java 2023年5月26日
    00
  • 详解NGINX如何统计网站的PV、UV、独立IP

    要实现对网站PV、UV、独立IP的统计,可以通过在NGINX的配置文件中添加一些指令来实现。以下是一些常用的指令: 通过log_format指令自定义日志格式,包含访问IP、请求时间、请求方法、URL、HTTP协议等信息。 log_format mylog ‘$remote_addr – $remote_user [$time_local] "$r…

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