一、搭建移动应用服务器

搭建一个简单的安卓应用的服务端。采用Struts2+hibernate的架构。IDE使用eclipse,数据库使用MySQL。搭建java开发环境就不说了,百度一大把。

一、项目结构

本人主要是android开发,了解一点java服务器开发,借用这个机会熟悉一下服务端开发。个人感觉使用Struts就是配置麻烦,先把整个项目的结构图PO在下面,配置随后附上。

项目结构如下图所示:



二、项目介绍

1、数据库hibernate配置:hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.c3p0.acquire_increment">2</property>
        <property name="hibernate.c3p0.idle_test_period">120</property>
        <property name="hibernate.c3p0.max_size">50</property>
        <property name="hibernate.c3p0.max_statements">0</property>
        <property name="hibernate.c3p0.min_size">2</property>
        <property name="hibernate.c3p0.timeout">120</property>
        <property name="hibernate.c3p0.validate">true</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/keng</property>
        <property name="hibernate.connection.username">admin</property>
        <property name="hibernate.connection.password">admin</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.search.autoregister_listeners">false</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.validator.apply_to_ddl">false</property>
        <mapping class="com.hy.keng.data.User" />
    </session-factory>
</hibernate-configuration>

2、Struts配置:struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<constant name="struts.devMode" value="true" />
	<constant name="struts.action.extension" value="ss" />
	<constant name="struts.i18n.encoding" value="UTF-8" />
	<constant name="struts.allowed.action.names" value="[a-zA-Z0-9_]{3,50}" />
	<constant name="struts.multipart.saveDir" value="/tmp"></constant>
	<constant name="struts.enable.DynamicMethodInvocation" value="false" />
	<constant name="struts.multipart.maxSize" value="100000000" />
	<constant name="struts.ognl.allowStaticMethodAccess" value="true" />

	<package name="v1_user_json" extends="json-default" namespace="/client">
		<action name="*_*_j" class="com.hy.keng.action.{1}" method="{2}">
			<result name="json" type="json">
				<param name="ignoreHierarchy">false</param>
				<param name="excludeProperties">texts,actionErrors,actionMessages,errorMessages,errors,fieldErrors,locale</param>
				<param name="noCache">true</param>
				<param name="excludeNullProperties">true</param>
				<param name="contentType">text/plain</param>
			</result>
			<!-- 返回JSONP格式,解决跨域问题 -->
			<result name="error">errorjson.jsp</result>
		</action>
		<action name="*_j" class="com.hy.keng.action.{1}">
			<result name="json" type="json">
				<param name="ignoreHierarchy">false</param>
				<param name="excludeProperties">texts,actionErrors,actionMessages,errorMessages,errors,fieldErrors,locale</param>
				<param name="noCache">true</param>
				<param name="excludeNullProperties">true</param>
				<param name="contentType">text/plain</param>
			</result>
			<result name="error">errorjson.jsp</result>
		</action>
	</package>
</struts>

3、web配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" metadata-complete="true" version="3.0">
	<display-name>keng</display-name>
	<filter>
		<filter-name>ExpiresFilter</filter-name>
		<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
		<init-param>
			<param-name>ExpiresByType text/html</param-name>
			<param-value>access plus 0 seconds</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>ExpiresFilter</filter-name>
		<url-pattern>*.ss</url-pattern>
	</filter-mapping>
	<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>*.ss</url-pattern>
	</filter-mapping>
</web-app>

三、数据库介绍

数据库使用的是MySQL,数据库管理工具用的是heidisql。

mysql的安装和配置过程我就不说了,打开heidisql,输入本机ip和账号密码


进入后新建数据库keng,然后再新建一张数据表user,建表语句如下:

CREATE TABLE `user` (
	`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
	`username` VARCHAR(50) NOT NULL COMMENT '用户名' COLLATE 'utf8mb4_unicode_ci',
	`nickname` VARCHAR(50) NULL DEFAULT NULL COMMENT '昵称' COLLATE 'utf8mb4_unicode_ci',
	PRIMARY KEY (`id`),
	INDEX `username` (`username`)
)
COMMENT='用户表'
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2;

然后添加两条数据进去就可以测试了。



四、测试

打开浏览器,输入地址,正确结果如下:


用户不存在结果如下:


demo下载地址附上:http://download.csdn.net/detail/yu75567218/9586917


1 硬件需求 1.1 基本配置 配件 数量 CPU 2核 内存 4G 硬盘 100G 1.2 最低配置 配件 数量 CPU 2核 内存 2G 硬盘 10G 2 软件需求 名称 分类 版本 Windows 操作系统 2003及以上 jdk Java虚拟机 1.5.x及以上 Tomcat Web服务器 5.x及以上 Easy do it (轻松互联网开发平台,简称轻开平台,原名WebEasy) 应用开发服务器 2014及以上 Access 数据库 97及以上 EditPlus 开发工具 2.x及以上 3 软件安装 4 发布 4.1 下载 Easy do it,轻松互联网开发平台(简称轻开平台,原名WebEasy)下载地址: CSDN下载频道:http://download.csdn.net/detail/tx18/8711175 百度云盘:http://pan.baidu.com/s/1eQElpom 官网:http://edoit.htok.net/ 最新更新的下载包:http://download.csdn.net/user/tx18 4.2 发布 复制webeasy目录到D:\下,然后进入%TOMCAT_HOME%\conf目录,用文本编辑器(如:EditPlus)打开server.xml文件,在“Host”标签下添加一“Context”标签: 保存退出并启动tomcat 5 编辑工具 轻开平台可以用任何网页或文本编辑器进行开发,我本人一直在使用EditPlus,以下推荐常用的编辑软件: • EditPlus EditPlus 是一款功能强大的文字处理软件。它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、JavaJavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键,等等... EditPlus中文版包含在下载包中 6 开发 6.1 第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ 土豆 1.24 KG T恤 68 件 可乐 2.20 瓶 书 51.24 本 @{item:name} @{item:price} @{item:unit} },"sort":@{int:@{item:getSuffix}+1} } 6.2 针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展  文件内容须为闭合的json格式,静态内容则可直接书写json格式,如: {“item”: { … … },”other”:”other value” }  value属性参数表示输出不带引号的值,如: @{item:price} 输出:"pri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值