关键字:mavenm2eclipseJSONStruts2Log4j2tomcatjdk7Config Browser Plugin

Created by Bob 20131031

l 开发准备工作

一、开发所需工具及相关组件介绍

Eclipse IDE for Java EE Developers, 247 MB

http://www.eclipse.org/downloads/

apache-tomcat-7.0.42-windows

http://www.apache.org/dist/tomcat/tomcat-7/v7.0.42/bin/

Java SE Development Kit 7u45

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

apache-maven-3.1.0-bin

http://maven.apache.org/download.cgi

二、搭建开发环境参考文档

JDK安装及配置

http://xiaoxing598.diandian.com/post/2012-05-06/17031020

Maven安装及配置

http://blog.csdn.net/yuguiyang1990/article/details/8775046

安装m2eclipse插件

http://blog.csdn.net/yuguiyang1990/article/details/8796410

Tomcat安装及配置

http://jingyan.baidu.com/article/8065f87fcc0f182330249841.html

SVN安装及配置

http://www.tech-juice.org/2012/05/01/how-to-add-a-new-eclipse-project-to-an-svn-repository/

ConfigBrowser插件

http://struts.apache.org/release/2.2.x/docs/config-browser-plugin.html

l 第一个开发实践

通过Struts2返回第一个JSON对象的源码下载:

http://bobproject.googlecode.com/svn/tags/tag_ReportWebApp_source_v1.0

一、通过maven的pom.xml引入相关组件

1、struts2的dependency

http://mvnrepository.com/artifact/org.apache.struts/struts2-core/2.3.15.2

2、json的dependency

<dependency>

<groupId>net.sf.json-lib</groupId>

<artifactId>json-lib</artifactId>

<version>2.4</version>

<classifier>jdk15</classifier>

</dependency>

3、javax.servlet的dependency

<dependency>

<groupId>org.eclipse.jetty.orbit</groupId>

<artifactId>javax.servlet</artifactId>

<version>3.0.0.v201112011016</version>

</dependency>

4、log4j2的dependency http://logging.apache.org/log4j/2.x/maven-artifacts.html

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-api</artifactId>

<version>2.0-beta9</version>

</dependency>

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-core</artifactId>

<version>2.0-beta9</version>

</dependency>

5、ConfigBrowser插件

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-config-browser-plugin</artifactId>

<version>2.3.15.2</version>

</dependency>

 

二、搭建struts2程序框架

1、创建ReportAction.java

创建public void doAction() throws IOException;

2、创建struts.xml配置文件

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<package name="default" extends="struts-default" namespace="/">

<action name="testJSONFromActionByGeneral" class="com.tuoming.iqa.action.ReportAction"

method="doAction">

</action>

</package>

</struts>

3、web.xml中添加struts2配置代码

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<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>*.action</url-pattern>

</filter-mapping>

</web-app>

4、index.jsp中添加客户端代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">

<title>Struts2与JSON测试</title>

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="js/index.js"></script>

</head>

<body>

<a href="<%=basePath%>testJSONFromActionByGeneral.action" title="测试从Action以常规方式获取JSON数据">测试从Action以常规方式获取JSON数据</a>

</body>

</html>

5、pom.xml中添加tomcat-maven-plugin的plugin

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>tomcat-maven-plugin</artifactId>

<version>1.0-beta-1</version>

<configuration>

<url>http://localhost:8080/manager/text</url>

<path>/ ReportWebApp</path>

<server>tomcat</server>

<username>admin</username>

<password>password</password>

</configuration>

</plugin>

6、Right Click >> Run As >> Maven Build,在窗口中的Goals内输入:package tomcat:redeploy

三、采用Log4j2实现日志功能

1、指定目录下创建log4j2.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<appenders>

<RollingFile name="outErrorFile" fileName="RWA_logs/exception.log"

filePattern="RWA_logs/$${date:yyyy-MM}/exception-%d{MM-dd-yyyy}-%i.log.gz">

<PatternLayout

pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />

<SizeBasedTriggeringPolicy size="10MB" />

</RollingFile>

<RollingFile name="outDebugFile" fileName="RWA_logs/debug.log"

filePattern="RWA_logs/$${date:yyyy-MM}/exception-%d{MM-dd-yyyy}-%i.log.gz">

<PatternLayout

pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />

<SizeBasedTriggeringPolicy size="10MB" />

</RollingFile>

<RollingFile name="outInfoFile" fileName="RWA_logs/info.log"

filePattern="RWA_logs/$${date:yyyy-MM}/exception-%d{MM-dd-yyyy}-%i.log.gz">

<PatternLayout

pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />

<SizeBasedTriggeringPolicy size="10MB" />

</RollingFile>

<Console name="consolePrint" target="SYSTEM_OUT">

<PatternLayout

pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />

</Console>

</appenders>

<loggers>

<root level="DEBUG">

<appender-ref level="DEBUG" ref="outDebugFile" />

<appender-ref level="ERROR" ref="outErrorFile" />

<appender-ref level="INFO" ref="outInfoFile" />

</root>

</loggers>

</configuration>

2、需打印日志的Class中添加成员变量代码

private static Logger log = LogManager.getLogger(ReportInfo.class.getName());

3、打印日志方法如下

log.debug("通过action是以传统方式返回JSON数据");

4C:\tomcat\bin\RWA_logs目录下查看日志是否生成

J2EE Web开发入门—通过action是以传统方式返回JSON数据的更多相关文章

  1. Web开发入门学习笔记

    公司web项目终于要启动了,本以为django学习可以在实战中进行,结果最终使用了Drupal框架,好吧,那我们就PHP走起,买了本<细说PHP>,先跟着过一遍Web开发入门. HTTP协 ...

  2. day04 Java Web 开发入门

    day04 Java Web 开发入门 1. web 开发相关介绍 2. web 服务器 3. Tomcat服务器启动的问题 4. Tomcat目录结构 5. Web应用程序(虚拟目录映射,缺省web ...

  3. java WEB开发入门

    WEB开发入门 1 进入web JAVASE:标准- standard   JAVA桌面程序 GUI    SOCKET JAVAEE:企业-浏览器控制  web 2 软件结构 C/S :client ...

  4. 【python】 web开发入门

    进入Web开发 现在你完成了Python忍者训练,准备深入Ptyhon的Web开发,但现在的问题是有很多的框架,从中选择最好的框架非常困难,但从初学者的角度出发,Flask基本Web框架将非常适合We ...

  5. Web开发入门经典:使用PHP6、Apache和MySQL 中文pdf扫描版​

    通过学习本书,读者很快就能明白为什么PHP.Apache和MySQL会迅速成为开发动态网站最流行的方式,本书将为读者理解这3个核心组件如何独立工作和协同工作奠定良好的基础,引导读者充分利用它们提供的各 ...

  6. PHP Web开发入门流程

    在学习WEB开发前,至少有一个对C或者计算机编程任何一种语言的基本学习,这会对你以后的开发有一定的启蒙作用. 一.Web开发入门 推荐学习网址: http://www.w3school.com.cn/ ...

  7. Web开发入门教程:Pycharm轻松创建Flask项目

    Web开发入门教程:Pycharm轻松创建Flask项目 打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask.Django等等,我们选择生成Fla ...

  8. 【转载】salesforce 零基础开发入门学习(五)异步进程介绍与数据批处理Batchable

    salesforce 零基础开发入门学习(五)异步进程介绍与数据批处理Batchable   本篇知识参考:https://developer.salesforce.com/trailhead/for ...

  9. Web API返回JSON数据

    对Web API新手来说,不要忽略了ApiController 在web API中,方法的返回值如果是实体的话实际上是自动返回JSON数据的例如: 他的返回值就是这样的: { "Conten ...

随机推荐

  1. linux下挂载新硬盘

    挂载好新硬盘后输入fdisk -l命令看当前磁盘信息 1.创建新硬盘分区 用fdisk  + 路径 进行分区 进入磁盘,对磁盘进行分区 #fdisk /dev/sdb Command (m for h ...

  2. java常用类

    String 字符串类 System 可得到系统信息 Runtime类 StringBuilder(StringBuffer)类 Thread 线程类 Math 与数学有关的工具类 Date 日期类( ...

  3. Maven项目配置不接文件名

    1.更改finalName为ROOT,在pom.xml中加入下边的build,是可以进行自动启动Tomcat. 2.删除webapps目录下的ROOT文件夹 3.进行maven项目的deploy 4. ...

  4. FME规划数据GIS更新入库

    规划数据经过转换处理入库GIS,城市规划的特殊性,使得GIS里面数据经过分析处理后直接导出为CAD数据的话,肯定难以满足原来规划的要求,这个是硬伤.又要用GIS来进行空间分析处理统计,数据管理就必须了 ...

  5. 天气预报数据API

    http://www.weather.com.cn/data/cityinfo/101010100.html//过期: http://api.36wu.com/Weather/GetMoreWeath ...

  6. [php-composer] how to install composer in windows

    Composer Setup 1. Choose the command-line PHP you want to use.选择使用可以命令行的PHP程序 2. proxy Settings - ch ...

  7. 在线教学、视频会议 Webus Fox(2) 服务端开发手册

    上次在<在线教学.视频会议软件 Webus Fox(1)文本.语音.视频聊天及电子白板基本用法>里介绍了软件的基本用法.本文主要介绍服务器端如何配置.开发. 1. 配置 1.1 IIS配置 ...

  8. Windows7上搭建Cocos2d-x 3.1.1开发环境

    前言 现在,越来越多的公司采用Cocos2d-x 3.0来开发游戏了,但是现在这样的文章并不多,所以打算写一系列来帮助初学者快速掌握Cocos2d-x 3.0.首先就从开发环境的大家说起吧. 开发工具 ...

  9. [C++] socket - 1 [简单TCP通信C\S代码]

    服务端: #include<iostream> #include<winsock2.h> #include<stdio.h> #pragma comment(lib ...

  10. js继承精益求精之寄生式组合继承

    一.混合/组合继承的不足 上一篇JS继承终于混合继承,认真思考一下,发现其还是有不足之处的: 空间上的冗余:在使用原型链的方法继承父类的原型属性(Animal.prototype)的同时,也在子类的原 ...