1.6 Servlet
- 格式:pdf
- 大小:197.95 KB
- 文档页数:36
在上一篇博文中已经学习了如何整合mybatis和spring,实现持久层的CRUD操作、业务层的事务管理和spring的IoC。
现在我们这个demo的基础上,继续整合struts2,并利用json插件和jquery实现ajax,完成后系统将实现登录与注册的简单功能。
浏览器端如何简单、高效地与服务器端进行数据交互是web开发者最为关心的内容。
在客户端构造intput表单数据或者拼凑URL参数名称/参数值,然后在服务器端笨拙地用request.getParameter(“参数名称”)获取参数显然已经过时了,在struts2中,只要在action 里定义了input表单名称/URL参数名称对应的String类型属性,并设置getter和setter 方法,struts2在调用action的时候就可以根据参数值自动帮你设置好action中对应的属性值供你使用,这极大地方便了开发者。
但是json更为强大——它可以根据浏览器端上传的符合格式的数据设置action中对象的值,也就是说,struts2自动封装的数据只有一层,而json是无限层。
json给页面参数的传递带来极大的方便,结合jquery来使用,可以轻易地做到页面局部刷新、页面无跳转进行友好的系统异常提示等,其中后者是我觉得最有必要做到的一点,在action中定义一个message变量,把action方法执行的结果或者系统异常信息放到里面以json的方式返回给客户端,客户端根据这个变量的结果来进行下一步的操作或者提示系统异常信息,非常地好用。
json由javascript中的对象和数组构成,基本形式是{key:value},key为属性名称,value 为属性值,value可以为数字、字符串、数组、对象,value可以为数组和对象是json可以封装无限层数据的关键所在。
至于如何建构和解析json不是本篇博文的详细表述范围,请参考其他资料。
现在就让我们利用struts2作为MVC框架,整合json插件,在浏览器端使用jquery解析和系列化json数据,由此制作一个具有登陆/注册功能的小demo。
文章分类:Java编程第一步:下载jdk和tomcat:JDK下载Tomcat下载最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。
1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java):JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\bin接着可以写一个简单的java程序来测试JDK是否已安装成功:Java代码1.public class Test{2.3.public static void main(String args[]){4.5.System.out.println("This is a test program.");6.7.}8.9.}将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.javajava Test此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):CATALINA_HOME:C:\Program Files\Apache Software Foundation\Tomcat 6.0CATALINA_BASE:C:\Program Files\Apache Software Foundation\Tomcat 6.0TOMCAT_HOME: C:\Program Files\Apache Software Foundation\Tomcat 6.0然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar 追加到classpath中去,修改后的classpath如下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME% \common\lib\servlet-api.jar;【注意最新版本的Tomcat中可能没有common这个文件夹了。
tomcat是不能直接跑asp的,解决方案:整合IIS和Tomcat(同时支持ASP和jsp)花了很久时间,终于搞定了IIS6和Tomcat的整合。
现在把步骤贴出来给各位一点参考,也免去了新手在Google上暴走和一次次的调试。
开始吧!首先先说明我的系统,Windows 2003 Server中文版+IIS6+Tomcat5.0.14,JDK 1.4.2安装目录为C:JDK,Tomcat安装目录为C:Tomcat,环境变量JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录。
(注意,接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径) Tomcat5和IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安装好了Tomcat5和IIS6并都能独立运行,两者的默认网站均指向C:web目录。
现在我们要做的是到/dist/jakarta/tomcat-connectors/jk2/binaries/win32/ jakarta-tomcat-connectors-jk2.0.2-win32-IIS.zip去下载JK2,由JK2负责IIS和Tomcat的通讯,解开后得到isapi_redirector2.dll,我把它放在了C:tomcatiis下(目录随便)。
接下来在Tomcat安装目录下的conf目录下建一个workers2.properties文件,把下面这段东东拷进去保存。
注意file=".."之中的路径要用"/"哦![shm]file=c:/Tomcat/logs/jk2.logsize=1048576# 实际运用时把所有的localhost和8009换成你自己的IP和端口[channel.socket:localhost:8009]port=8009host=localhost# define the worker[ajp13:localhost:8009]channel=channel.socket:localhost:8009# Uri mapping[uri:/*.jsp][uri:/web/*]worker=ajp13:localhost:8009# define the worker[status:status]# Uri mapping[uri:/jkstatus/*]worker=status:status之后编辑jk2.properties文件,确认其中是否有此一句:request.tomcatAuthentication=false接下来开始编辑注册表,直接建一个iis.reg文件,把下面一段拷进去保存然后双击iis.reg把信息导入注册表。
XXX系统概要设计V1.0XXX软件公司评审日期:年月日目录1.导言 (3)1.1目的 (3)1.2范围 (3)1.3缩写说明 (3)1.4术语定义 (4)1.5引用标准 (4)1.6参考资料 (4)1.7版本更新信息 (4)2.系统分析 (5)3.界面设计 (5)4.体系结构 (5)5.数据模型 (8)6.模块设计 (9)2XXX 系统概要设计 第 3 页 共 11 页XXX 软件1.导言1.1目的该文档的目的是描述XXX 系统项目的概要设计,其主要内容包括:● 系统功能简介 ● 系统结构设计 ● 系统接口设计 ● 数据设计 ● 模块设计 ● 界面设计本文档的预期的读者是: ● 开发人员● 项目管理人员 ● 测试人员1.2范围该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3缩写说明UMLUnified Modeling Language (统一建模语言)的缩写,是一个标准的建模语言。
HRHuman Resource (人力资源管理)的缩写。
JSPJava Server Page (Java 服务器页面)的缩写,一个脚本化的语言。
MVCModel-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。
EJBEnterpriseJavaBean(企业级JavaBean)的缩写。
1.4术语定义JSP Model2Servlet/JSP规范的0.92版本中描述的术语,定义了如何在同一个应用程序中联合使用Servlet和JSP的体系结构。
JavaBean用Java语言实现的满足一定功能的类。
1.5引用标准1.6参考资料[1] 《实战struct》〔美〕TedHusted机械工业出版社[2] 《软件重构》清华大学出版社1.7版本更新信息本文档的更新记录如表B-1所示。
表B-1 版本更新记录4XXX 系统概要设计 第 5 页 共 11 页XXX 软件 2.系统分析本系统可以实现。
第一步:下载jdk和tomcat:JDK下载Tomcat下载最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。
1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java):JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\bin (注:加在path最前面即可)在shell 中/>Java -version 检查是否设定成功。
或接着可以写一个简单的java程序来测试JDK是否已安装成功:public class Test{public static void main(String args[]){System.out.println("This is a test program.");}}将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.javajava Test此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):CATALINA_HOME:c:\tomcatCATALINA_BASE:c:\tomcatTOMCAT_HOME: C:\Tomcat然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME% \common\lib\servlet-api.jar;【注意最新版本的Tomcat中可能没有common这个文件夹了。
上机一 WEB 应用开发环境配置内容:搭建JSP工作环境,主要包括Java JDK的安装、Tomcat服务器的安装和构建班级论坛的第一个JSP的index.jsp首页面。
1. 安装JDK的步骤如下找到jdk-6-windows-i586.exe 运行安装程序,设定安装路径为D:\学习软件\jdk1.6.0, 其余接受默认安装。
安装结束后就要配置环境变量,包括java_home,path和classpath的设置,操作步骤如下:1)用鼠标右击“我的电脑”,选择“属性”,→“高级”→“环境变量”→“系统变量”→“新建”→在“变量名”输入框中写入“java_home”,在“变量值”输入框中写入“D:\学习软件\jdk1.6.0”→点击“确定”。
2)选中“系统变量”查看是否有classpath项目,如果没有就点击“新建”,→如果已经存在就选中classpath选项,→点击“编辑”按钮,→然后在“变量名”中填写“classpath”,→在“变量值”中填写“.;D:\学习软件\jdk1.6.0\lib;D:学习软件\jdk1.6.0\jre\lib”。
在“path”设定时,“变量名”输入框填写“path”,“变量值”输入框填写“D:\学习软件:\jdk1.6.0\bin”3)打开命令提示符窗口,输入命令“java -version”,看到Java版本的信息,确定安装完成。
2. 安装Tomcat6步骤如下将apache-tomcat-6.0.18.zip从磁盘中解压到D:\学习软件盘符下在D:\学习软件\apache-tomcat-6.0.18\bin目录下双击“startup.bat”启动服务器,双击“shutdown.bat”关闭服务器。
在环境变量中添加“变量名”为“tomcat_home”,“变量值”为“D:\学习软件\apache-tomcat-6.0.18”的设定。
在启动服务器后,打开浏览器,在地址栏输入http://localhost:8080查看,如出现主页,则表示安装成功。
OpenNMS编译,打包并在Windows下启动1.Download Opennms latest source code2.Download latest Java JDK and install it. Set JAVA_HOME path3.Download Postgres and install it. Set the path in environment variable4.Download Perl and install it. Set path in environment variable5.Unzip the opennms source code and put it your local server(Ex : D:\Workspace\OpenNMS\Source\opennms)6.Set the mavan bin path in environment variable(Ex : D:\Workspace\OpenNMS\Source\opennms\maven\bin)7.Enter into D:\Workspace\OpenNMS\Source\opennms> path8.Clean your project(Ex : D:\Workspace\OpenNMS\Source\opennms>perl clean.pl)pile your opennms project(Ex : D:\Workspace\OpenNMS\Source\opennms>perl compile.pl)10.Assemple your or build your project(Ex : D:\Workspace\OpenNMS\Source\opennms>perl assemple.pl -Dopennms.home=D:\Workspace\OpenNMS\Build)11.Copy your build file opennms-1.13.0-SNAPSHOT.tar.gz from D:\Workspace\OpenNMS\Source\opennms\target folder12.Put it your build opennms home location and unzip it(Ex : D:\Workspace\OpenNMS\Build)13.Now your folder structure in build path should be the folllowing hiraBuild- bin- etc- ...14.Create install.bat file with the following contentSET OPENNMS_HOME=D:/Workspace/OpenNMS/BuildSET DBNAME=opennmsSET DBURL=jdbc:postgresql://localhost:5432/SET ETCDIR=%OPENNMS_HOME%/etcSET SERVLETDIR=%OPENNMS_HOME%/webapps/opennms"C:\Program Files\Java\jdk1.6.0_20\bin\java" -Xmx512m "-Dopennms.home=%OPENNMS_HOME%" "-Dinstall.dir=%OPENNMS_HOME%" "=%DBNAME%" "-Dinstall.database.url=%DBURL%" "-Dinstall.etc.dir=%ETCDIR%" "-Dinstall.servlet.dir=%SERVLETDIR%" -classpath"%OPENNMS_HOME%/lib/opennms_bootstrap.jar;%OPENNMS_HOME%/lib/opennms_install.jar" org.opennms.install.Installer %* 15.Download jicmp.dll and jicmp6.dll file and put it in your java bin folder(Ex : C:\Program Files\Java\jdk1.6.0_20\bin)16.Change your postgres password in D:\Workspace\OpenNMS\Build\etc\opennms-datasources.xml file<jdbc-data-source name="opennms-admin"database-name="template1"class-name="org.postgresql.Driver"url="jdbc:postgresql://localhost:5432/template1"user-name="postgres"password="postgres" />17.Create the opennms database for opennms source with help of install.bat file(Ex : D:\Workspace\OpenNMS\Build\bin>install.bat -d)18.Create opennms.bat file with the following content to start opennms bulid"C:\Program Files\Java\jdk1.6.0_20\bin\java" -Xmx512m -XX:MaxPermSize=256m -Dopennms.home="D:/Workspace/OpenNMS/Build" -Djava.endorsed.dirs="$OPENNMS_HOME/lib/endorsed" -jar "D:/Workspace/OpenNMS/Build/lib/opennms_bootstrap.jar" %*19.To run the opennms server, Open cmd prompt in admin mode and run opennms.bat file(Ex : D:\Workspace\OpenNMS\Build\bin>opennms.bat start)。
CXF框架实现webservice教程1 使用CXF实现一个简单的WEB SERVICE首先介绍如何用CXF实现一个基本的hello world首先到apache官网去下载CXF的开发jar包//cxf/2.4.3/apache-cxf-2.4.3.zip创建cxf webservice服务器端普通java项目,叫做HelloCxfServer,把必须用到的jar文件通过构建路径引入,为了省事,可以直接把所有的jar引入此处注意:如果是jdk1.6启动服务器会发生如下错误JAXB 2.1 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/E:/javaLib/cxf_all_jar/jaxb-impl-2.2.1.1.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.2 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader.这是由于jdk1.6的jar包和cxf的jar包冲突造成的,需要把cxf lib中的endorsed目录拷入到D:\Program Files\Java\jdk1.6.0\jre\lib目录下创建一个接口HelloWorld和一个实现类HelloWorldImpl,只提供一个成员方法,叫做sayHello,给接口和实现类添加注解@WebService,这是最基本的注解/test/HellWorld.java源码package test;import javax.jws.WebService;@WebServicepublic interface HelloWorld {String sayHello(String name);}/test/HelloWorldImpl.java源码package test;import javax.jws.WebService;@WebServicepublic class HelloWorldImpl implements HelloWorld {@Overridepublic String sayHello(String name) {System.out.println("sayHello方法被调用...");return"hello," + name;}}CXF自带了一个Web Service容器Jetty,这是一个WEB容器,类似于tomcat,能够直接发布web service,下面创建一个发布服务类MainServer,执行这个类就会运行服务器,看到控制台输出日志信息,表示启动服务成功/test/MainServier.java源码package test;import org.apache.cxf.endpoint.Server;import org.apache.cxf.jaxws.JaxWsServerFactoryBean;public class MainServer {public static void main(String[] args) {//创建一个JaxWs服务器工厂JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();//设置发布类factory.setServiceClass(HelloWorldImpl.class);//设置服务发布的地址factory.setAddress("http://localhost:6666/MyCxfService");//根据设置创建一个服务器Server server = factory.create();//启动服务器server.start();}}发布成功以后,可以通过浏览器去查看生成的WSDL,在浏览器地址栏输入http://localhost:6666/MyCxfService?wsdl,效果如下:下面创建访问WebService的客户端,可以重新创建一个项目,也可以就在这个项目里实现,我下面在同一个项目中创建一个类HelloWorldCient/test/HelloWorldClient.java源码package test;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean;public class HelloWorldClient {public static void main(String[] args) {//创建一个JaxWs的代理工厂JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();//设置访问地址factory.setAddress("http://localhost:6666/MyCxfService");//设置接口类型factory.setServiceClass(HelloWorld.class);//获得代理类实例HelloWorld helloWorld = (HelloWorld) factory.create();//调用方法String str = helloWorld.sayHello("张三");System.out.println(str);}}运行客户端,会看到控制台,输出:hello,张三2 WSDL结构分析主要通过上一章生成的WSDL,来对WSDL语言的标签进行解释Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML 语言。