Web 基础之 SSH 框架访问网页返回 json 数据简单实现的整理

Web 基础之 SSH 框架访问网页返回 json 数据简单实现的整理

目录

Web 基础之 SSH 框架访问网页返回 json 数据简单实现的整理

一、简单介绍

二、相关环境

三、注意事项

四、具体实现步骤

五、关键代码

六、工程下载


一、简单介绍

Web 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。

本节介绍,Web 开发 中 使用 SSH 框架,简单实现访问网页返回  json 数据的方法,如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

二、相关环境

1、Windows 10

2、Eclipse Version: Oxygen.3a Release (4.7.3a)  Build id: 20180405-1200

3、MySQL  8.0 + MySQL Workbench 8.0 CE

4、Tomcat 8.5

5、Java version 1.8.0_181
 

三、注意事项

1、引入 json 相关 jar的时候,可能 SSH 中已经存在某些包,可以不导入

可以到这里下载 json jar:Java开发json数据的jar涉及的相关包Java_json_lib_2.4.zip-Java文档类资源-CSDN下载

2、SSH 中使用 json 包的时候,注意 SSH  中要有 struts2-json-plugin-x.x.x.jar 包

3、实现访问网页返回 json 数据时,关键是 Map<String,Object> map; 注意添加其 getter 和 setter 属性

四、具体实现步骤

该案例基于搭建好的 SSH 框架,SSH 框架可以参考:

Web 框架之 SSH 框架的简单搭建的简单整理(基于Eclipse)_仙魁XAN-CSDN博客

1、在搭好的 SSH 框架中,添加 json 相关包

这里添加 struts2-json-plugin-2.5.16.jar ,commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,ezmorph-1.0.6.jar,json-lib-2.4-jdk15.jar

 

2、添加一个 TestJsonAction,实现获取数据库所有用户信息,然后封装成 json 数据

3、对应实现 UserService 和 UserDao 中的获取所有用户信息的方法

4、配置 struts 中 TestJsonAction 数据

5、配置 spring applicationContext.xml,添加 testJsonAction 的 bean

6、运行 工程

7、浏览器输入对应的网址,网页就返回 json 数据了

五、关键代码

有些是,对应脚本添加的代码

1、TestJsonAction

package com.xan.web;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.ActionSupport;
import com.xan.domain.User;
import com.xan.service.UserService;

// 测试 json 数据,获取 所有用户数据并且封装成 json 数据
public class TestJsonAction extends ActionSupport {
	
	// 封装成 json 数据关键
	private Map<String, Object> map;
	private UserService userService;

	public Map<String, Object> getMap() {
		return map;
	}

	public void setMap(Map<String, Object> map) {

		this.map = map;

	}

	public UserService getUserService() {
		return userService;
	}

	public void setUserService(UserService userService) {
		this.userService = userService;
	}

	public String jsonMessage() {

		map = new HashMap<String, Object>();

		// 获取 所有 User 并且封装成 json 数据
		List<User> list = userService.findAllUser();

		map.put("success", true);
		map.put("message", list);

		return "jsonData";

	}

}

2、UserService 添加的代码


	public List<User> findAllUser() {
		// TODO Auto-generated method stub
		return userDao.findAllUser();
	}

3、UserDao 添加的代码

public List<User> findAllUser() {
		Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
		// sql SQLQuery 方法
		/*String sql = "select * from user";	
		SQLQuery sqlQuery = session.createSQLQuery(sql).addEntity(User.class);
		List<User> users = sqlQuery.list();
		*/
		// hql Query
		String hql = "from com.xan.domain.User";
		Query createQuery = session.createQuery(hql);
		List<User> users = createQuery.list();
		return users;
	}

4、struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">	
<struts>
	<constant name="struts.devMode" value="true" />
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />	
	<!-- 让spring帮我们创建action -->
	<constant name="struts.objectFactory" value="spring"></constant>
	
	<package name="MySSH" namespace="/" extends="struts-default,json-default">
		<global-allowed-methods>regex:.*</global-allowed-methods>
		<action name="UserAction_*" class="com.xan.web.UserAction" method="{1}">
			<result name="login">/login.jsp</result>
			<result name="toIndex">/index.html</result>
		</action>
		
		<action name="testGetJson" class="com.xan.web.TestJsonAction" method="jsonMessage">
			<result name="jsonData" type="json">
				<param name="root">map</param>
			</result>
		</action>
		
	</package>	
</struts>

5、applicationContext.xml 中添加的代码

<bean name="testJsonAction" class="com.xan.web.TestJsonAction" scope="prototype">
		<property name="userService" ref="userService"></property>
	</bean>

六、工程下载

工程下载地址:代码工程Web基础之SSH框架访问网页返回json数据简单实现的整理-Web开发文档类资源-CSDN下载

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值