Android与JavaWeb服务器交互教程(2)-搭建简易的JavaWeb服务
来源:互联网 发布:ubuntu添加用户到sudo 编辑:程序博客网 时间:2024/05/17 04:37
1.前言
为了通用性,此处JavaWeb服务器采用Struts2框架开发,(最近发现一个JavaWeb的敏捷开发框架-Nutz,最近开发的JavaWeb项目几乎都是采用了这个框架写)。
2.搭建项目
2.1 新建一个JavaWeb项目
新建一个JavaWeb项目,名字叫WebServer(这个名字随便起)
File->New->Project
2.2 导入项目的依赖
下载struts2的库,传送门
写这篇教程的时候版本还是2.5.10.1,因此就以此为例了
在Web/WEB-INF目录下新建一个lib目录,将Struts2库文件拷贝到里面。
配置依赖
添加Tomcat运行时库
选中tomcat安装目录中的lib文件夹
以同样的方式选中项目目录中刚刚创建的lib目录。
2.3 配置Struts2项目
2.3.1.在web.xml里面配置过滤器(文件位于web/WEB-INF/web.xml),没有的话就新建一个。此处我们就拦截 action 为结尾的请求,如果要拦截所有请求,将
<url-pattern>*.action</url-pattern>
修改成
<url-pattern>/*</url-pattern>
就可以。
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <filter> <filter-name>action2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>action2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping></web-app>
2.3.2 添加Action类
在src目录下新建一个包,此处我们就命名为com.imudges.web.action
创建一个BaseAction类,代码如下:
package com.imudges.web.action;import com.opensymphony.xwork2.ActionSupport;import java.util.HashMap;import java.util.Map;/** * Created by HUPENG on 2017/4/30. */public class BaseAction extends ActionSupport{ /** * 返回成功的结果 * */ protected Map<String,Object> getSuccessResult(Object data){ Map<String,Object>result = new HashMap<>(); result.put("code",0); result.put("msg","ok"); result.put("data",data); return result; } /** * 返回失败的结果 * */ protected Map<String,Object>getFailResult(int code,String msg){ Map<String,Object>result = new HashMap<>(); result.put("code",code); result.put("msg",msg); result.put("data",null); return result; }}
新建一个处理登录请求的Action类继承自BaseAction,此处为了简单起见,不引入数据库层,直接在Action层中进行判断用户名,当用户名为admin,密码为123的时候认为登录成功,否则认为登录失败。具体的实现如下:
package com.imudges.web.action;import java.util.Map;/** * Created by HUPENG on 2017/4/30. */public class LoginAction extends BaseAction { /** * 用户请求参数 * */ private String username; private String password; /** * 返回结果 * */ private Map<String,Object>result; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Map<String, Object> getResult() { return result; } public void setResult(Map<String, Object> result) { this.result = result; } @Override public String execute() throws Exception { if ("admin".equals(username) && "123".equals(password)){ result = getSuccessResult(null); }else { result = getFailResult(-1,"用户名或者密码错误"); } return SUCCESS; }}
2.3.3 编写struts.xml
struts.xml位于src的根目录,若无,新建之。
修改之后应该类似于这样:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <package name="default" namespace="/" extends="struts-default,json-default"> <action name="login" class="com.imudges.web.action.LoginAction"> <result name="success" type="json"> <param name="root">result</param> </result> </action> </package></struts>
2.4启动服务器
2.5查看效果
登录成功
登录失败
最后,附上项目源码:
七牛云
百度云
0 0
- Android与JavaWeb服务器交互教程(2)-搭建简易的JavaWeb服务
- Android与JavaWeb服务器交互教程(1)-搭建环境
- Android与JavaWeb服务器交互教程(3)-一个简单的Android项目
- JavaWeb - 浏览器与服务器交互的过程
- JavaWeb - 浏览器与服务器交互的过程
- 【JavaWeb】一个简易的服务器类
- 搭建javaweb服务器
- 安卓实现与javaweb的交互
- javaWeb服务器在linux上的搭建
- android httpclient与javaweb服务器通讯
- Javaweb与Tomcat服务器
- android和JavaWeb服务器
- javaweb云服务环境搭建
- Javaweb---服务器Tomcat与Eclipse的关联
- Centos 7 JavaWeb服务器搭建
- Android在网络中与JavaWeb的项目进行交互的方法
- 《转》Android在网络中与JavaWeb的项目进行交互的方法
- 常见的JavaWEB服务器
- Python中redis的使用
- 实例探索Java模式之路——简单工厂模式
- LeetCode(110)Balanced Binary Tree
- SCUT校赛130:对抗女巫的魔法碎片(思维)
- 在MYSQL建立外码的时候遇到的几个属性
- Android与JavaWeb服务器交互教程(2)-搭建简易的JavaWeb服务
- svn: E220001: Item is not readable
- 我的java学习路之初识ava
- Scala基础
- JavaScript基本概念(三)
- 变态跳台阶
- 对于Linux内核tty设备的一点理解
- Android @SuppressLint("SdCardPath")是什么意思?
- python3中input的问题