[ssh新闻发布系统一]搭建开发环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 从零开始基于struts2.3、hibernate4.3、spring4.2实现新闻发布系统。下面开始搭建开发环境,主要包括安装eclipse插件下载jar包配置struts、spring、hibernate一、安装eclipse插件在eclipse导航栏依次找到help->eclipse market。

从零开始基于struts2.3、hibernate4.3、spring4.2实现新闻发布系统。下面开始搭建开发环境,主要包括

  1. 安装eclipse插件
  2. 下载jar包
  3. 配置struts、spring、hibernate

一、安装eclipse插件

在eclipse导航栏依次找到help->eclipse market。

  1. 输入hibernate搜索hibernate tools工具,点击按照步骤安装。(hibernate tools是jboss tools的一款,如果在eclipse market搜索不到hibernate tools,搜索jboss tool,下一步选择安装hibernate tools即可)
  2. 输入spring搜索spring tool suite,按照提示点击安装。

二、下载jar包

到下面的地址下载好struts 2.3.4、spring 4.2.3、hibernate4.3.11、commons-logging、mysql驱动、c3p0jar包。

  1. struts 2下载地址 struts 2
  2. spring下载地址spring
  3. hibernate下载地址hibernate
  4. commons-logging下载地址 commons-logging,下载commons-logging-1.2-bin.zip
  5. mysql驱动下载地址mysql驱动
  6. c3p0地址地址[c3p0][http://mvnrepository.com/artifact/c3p0/c3p0]

三、新建web工程

新建一个dynamic web project,取名为sshnews,dynamic web module version选择2.5.
这里写图片描述
新建index.jsp,然后配置好tomcat跑一下,这一步相信大家都会。

四、导入jar包

spring所需要的jar包

打开spring-framework-4.2.3.RELEASE-dist\spring-framework-4.2.3.RELEASE\libs文件夹,复制以下jar包:
spring-aop-4.2.3.RELEASE.jar
spring-aspects-4.2.3.RELEASE.jar
spring-beans-4.2.3.RELEASE.jar
spring-context-4.2.3.RELEASE.jar
spring-context-support-4.2.3.RELEASE.jar
spring-core-4.2.3.RELEASE.jar
spring-expression-4.2.3.RELEASE.jar
spring-instrument-4.2.3.RELEASE.jar
spring-instrument-tomcat-4.2.3.RELEASE.jar
spring-jdbc-4.2.3.RELEASE.jar
spring-jms-4.2.3.RELEASE.jar
spring-messaging-4.2.3.RELEASE.jar
spring-orm-4.2.3.RELEASE.jar
spring-oxm-4.2.3.RELEASE.jar
spring-test-4.2.3.RELEASE.jar
spring-tx-4.2.3.RELEASE.jar
spring-web-4.2.3.RELEASE.jar
spring-webmvc-4.2.3.RELEASE.jar
spring-webmvc-portlet-4.2.3.RELEASE.jar
spring-websocket-4.2.3.RELEASE.ja

struts所需要的jar包

asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.3.1.jar
commons-io-2.2.jar
commons-lang3-3.2.jar
freemarker-2.3.22.jar
javassist-3.11.0.GA.jar
log4j-api-2.2.jar
log4j-core-2.2.jar
ognl-3.0.6.jar
struts2-core-2.3.24.jar
xwork-core-2.3.24.jar

hibernate所需要的jar包

将hibernate-release-4.3.10.Final\lib\required目录下的jar包全部copy到工程lib目录下.
antlr-2.7.7.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-4.0.5.Final.jar
hibernate-core-4.3.10.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-1.1.0.Final.jar
javassist-3.18.1-GA.jar
jboss-logging-3.1.3.GA.jar
jboss-logging-annotations-1.2.0.Beta1.jar
jboss-transaction-api_1.2_spec-1.0.0.Final.jar

其他jar包

c3p0-0.9.1.2.jar
commons-logging-1.2.jar
mysql-connector-java-5.0.8-bin.jar
然后build path。

五、配置spring

配置web.xml

打开web.xml,因为安装了spring的插件,可以自动提示,按自动提示快捷键(windows下alt+/),找到ContextLoaderListener,配置代码会自动补全。
spring配置

新建spring配置文件

点击工程名,新建source folder(注意:不是folder),命名为conf,用来存放配置文件.在conf目录下新建Spring Bean Definition file,名称为applicationContext.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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" 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/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">

</beans>

如果生成的applicationContent.xml没有xmlns:context这些,可以手动补充上去。

修改web.xml

将web.xml中spring配置中的location改为:classpath:applicationContext.xml.

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContent.xml</param-value>
    </context-param>

    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

目前的工作空间是这样的:
这里写图片描述
以上步骤我们完成了导入jar包、新建资源文件夹、修改web.xml、新增applicationContent.xml。

六、设置c3p0数据库连接池

在conf目录下新建db.properties文件, 加入以下数据库连接信息

jdbc.user=root
jdbc.password=123456
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql:///sshnews
jdbc.initPoolSize=5
jdbc.maxPoolSize=10

这里写图片描述
mysql数据库中的sshnews是我们使用的数据库名,可以提前建好。
然后在applicationContent.xml加入以下代码:

    <!-- 导入资源文件 -->
    <context:property-placeholder location="classpath:db.properties" />

    <!-- 数据库连接配置 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="driverClass" value="${jdbc.driverClass}"></property>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
        <property name="initialPoolSize" value="${jdbc.initPoolSize}"></property>
        <property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property>
    </bean>

这里写图片描述

七、spring整合hibernate

在conf目录下新建hibernate配置文件,单击conf文件夹名,右键,new->others,键入hibernate,新增hibernate配置文件
这里写图片描述
加入以下配置:

<!-- 配置hibernate基本属性 -->
    <session-factory>
        <!-- 方言 ctrl+shift+t 输入mysql5,找到org.hibernate.dialect.MySQL5InnoDBDialect -->
        <property name="hibernate.dialect"> org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <!-- 是否显示格式化sql -->
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
         <!-- 生成数据表的策略 -->
        <property name="hbm2ddl.auto">update</property>
    </session-factory>

这里写图片描述
在src目录下新建model包,我的包名是cn.ac.ucas.form, 然后修改applicationContent.xml,加入以下配置:

<!--  整合hibernate -->
<bean id="sessionFactorys" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
       <property name="dataSource" ref="dataSource"></property>
       <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
       <property name="mappingLocations" value="classpath:cn/ac/ucas/form/*.hbm.xml">    </property>
</bean>

八、整合struts

配置web.XML

打开web.xml,加入下面代码:

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

加入struts.xml

拷贝struts-2.3.24-all/struts-2.3.24/apps/struts2-blank/WEB-INF/src/java目录下的struts.xml到src目录下。

九、测试

在cn.ac.ucas.form包下新建News类:

package cn.ac.ucas.form;

public class News {
    private Integer id;
    private String title;//新闻标题
    private String author;//新闻作者
    private String source;//新闻来源
    private String posttime;//发布时间
    private String content;// 新闻内容
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    public String getPosttime() {
        return posttime;
    }
    public void setPosttime(String posttime) {
        this.posttime = posttime;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }


}

点击包名->右键->new->other,键入hibernate,新增hibernate xml mapping文件,然后默认下一步,finish。会在包下生成News类对应的hibernate映射文件。至此工程目录如下:
这里写图片描述
运行工程,在数据库中查看是否有新的数据库表生成。
这里写图片描述
Success!

总结:1.把需要的jar包全部下载好备用,会很方便
2.安装好eclipse插件会很方便
3.db.properties配置容易出错,查看参数是否写正确
4.不要忘记在数据库中新建数据库
ssh新闻发布系统第一天就到这里,如有错误欢迎指出。转载请留言。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SSH服务端配置】
现在,你已经成功在Ubuntu系统上配置了SSH服务端。这将允许其他计算机通过SSH协议连接到你的Ubuntu系统,并进行远程管理和操作。请注意,远程访问有安全风险,建议在生产环境中采取必要的安全措施来保护系统。
77 3
|
7月前
|
Ubuntu 网络协议 网络安全
如何在外SSH远程连接Ubuntu系统【无公网IP】
如何在外SSH远程连接Ubuntu系统【无公网IP】
176 0
|
Java 关系型数据库 MySQL
JSP SSH公车拍卖系统myeclipse开发mysql数据库bs框架java编程网结构
JSP SSH公车拍卖系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
78 0
|
7月前
|
Linux 网络安全 数据安全/隐私保护
SSH工具连接远程服务器或者本地Linux系统
SSH工具连接远程服务器或者本地Linux系统
125 0
|
4月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
136 0
|
5月前
|
Shell 网络安全 数据安全/隐私保护
MacOS Sonoma14.2.1系统SSH免密登录
【7月更文挑战第9天】在MacOS Sonoma 14.2.1中设置SSH免密登录,包括:1) 使用`ssh-keygen`生成RSA密钥对;2) 使用`ssh-copy-id`将公钥传到远程主机;3) 用`ssh-add --apple-use-keychain`添加私钥到ssh-agent,并为重启后自动添加配置自动化脚本;4) 可选地,编辑`~/.ssh/config`设置别名简化登录。确保远程主机的`.ssh/authorized_keys`文件权限为600。
147 4
|
7月前
|
机器学习/深度学习 Linux 网络安全
ssh远程访问windows系统下的jupyterlab
ssh远程访问windows系统下的jupyterlab
135 3
|
7月前
|
安全 Shell 网络安全
【专栏】通过SSH在远程和本地系统间传输文件的主要四种方法
【4月更文挑战第28天】本文介绍了通过SSH在远程和本地系统间传输文件的四种方法:1) SCP,适用于熟悉命令行的用户;2) SFTP,提供更丰富的文件管理功能;3) SSHFS,可将远程文件系统挂载至本地;4) 图形化工具,如FileZilla和WinSCP,操作简便。根据需求、技能水平和系统环境选择合适的方法,并注重安全设置以确保文件传输的安全可靠。
3426 7
|
7月前
|
网络安全 数据安全/隐私保护
银河麒麟v10系统SSH远程管理及切换root用户的操作方法
银河麒麟v10系统SSH远程管理及切换root用户的操作方法
2733 0
|
7月前
|
安全 关系型数据库 MySQL
CentOS 7系统加固详细方案SSH FTP MYSQL加固
CentOS 7系统加固详细方案SSH FTP MYSQL加固