我用eclipse做struts框架的web App,修改了其中一个Action向eclipse控制台乱码打印结果,死活没反应,快入魔了求解救

54893人阅读
SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。&第一步:准备工作。&& 下载好eclipse,Struts2,Spring,Hibernate。&& 1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。&&&&&&&&&&&&&&&& 当然你也可以下载eclipse-SDK。(下载eclipse-SDK需要下载Web,Tomcat等plugins)&& 2.Struts2:&&&&&&&&& 1)引入Struts的jar包。下载 struts-*-all.zip 解压后,struts/lib目录下是struts所有的相关jar包。&&&&&&&&& 其中有5个是必须的:
&&&&&&&&&&&&&&&Commons-logging-1.0.4.jar,Freemarker-2.3.13.jar,&&&&&&&&&&&&&&&&Ognl-2.6.11.jar,Struts2-core-2.1.6.jar,Xwork-2.1.2.jar&&&&&&&&& 其余jar包并不是struts必须的。还有3个包也要注意导入。不导入运行Tomcat时候可能会出现异常。&&&&&&&&&&&&&&&&commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar,javassist-3.7.ga.jar&&&&&&&&&&注意:javassist-3.7.ga.jar包是在struts2-blank-2.2.1.war示例工程中的web-inf/lib下的。&
& 3.Spring:&&&&&&&&&还可以在eclipse下安装下载。具体步骤是这样的:&&&&&&& 1)打开eclipse-help-Software Updates.
&&&&&&&& 2) 在打开的对话框中选择上面的第二项(Available Software)。
&&&&&&&& 3)点击Add Site按钮,弹出URL对话框。&
&&&&&&& 4)在对话框里输入:点击OK。&
&&&&&&& 5)选择sping IDE点击安装(Install)。
& 4.Hibernate:&& 5.Jdk的src.zip包导入。(当然不导入也可以。。。)&第二步:&& 1.创建一个 Web Progect,自己起一个喜欢的名字。&& 2.修改WEB-INF下的web.xml文件,增加struts2的配置。
&version="1.0"&encoding="UTF-8"&&
&xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&&
&&&&xmlns="/xml/ns/javaee"&xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"&&
&&&&xsi:schemaLocation="/xml/ns/javaee&/xml/ns/javaee/web-app_2_5.xsd"&&
&&&&id="WebApp_ID"&version="2.5"&&
&&&&SSHTest&&
&&&&&&&&struts2&&
&&&&&&&&&&
&&&&&&&&&&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&&
&&&&&&&&&&
&&&&&&&&struts2&&
&&&&&&&&/*&&
&&&&&&&&index.jsp&&
& 3.在WEB-INF/classes目录下添加struts.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"&&&&
&&&&&namespace="/"&name="struts2"&extends="struts-default"&&
&&&&&&&&&name="login"&method="execute"&class="loginAction"&&
&&&&&&&&&&&&&name="success"/WEB-INF/jsp/login.jsp&&
&&&&&&&&&&&&&name="input"/WEB-INF/index.jsp&&
&&&&&&&&&&
&& 4.配置Spring&&&& 1)导入spring包。spring-framework-**.zip解压后,将spring-framework-**文件夹的dist目录下的jar包导入工程中。&
&&& 2)配置web.xml文件。&
&&&&&&org.springframework.web.context.ContextLoaderListener&&
&&&&contextConfigLocation&&
&&&&&&&&classpath:/applicationContext*.xml&&
&&&& 3)添加applicationContext.xml文件。&
&version="1.0"&encoding="UTF-8"&&
&xmlns="http://www.springframework.org/schema/beans"&&
&&&&xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&&
&&&&xmlns:aop="http://www.springframework.org/schema/aop"&&
&&&&xmlns:tx="http://www.springframework.org/schema/tx"&&
&&&&xsi:schemaLocation="&&
&&&&http://www.springframework.org/schema/beans&http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&&
&&&&http://www.springframework.org/schema/tx&http://www.springframework.org/schema/tx/spring-tx-2.5.xsd&&
&&&&http://www.springframework.org/schema/aop&http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"&&
&&&&&id="loginAction"&scope="prototype"&class="action.LoginAction"&&
&&&& 4)整合Spring与Struts。在Struts的lib目录中找到struts2-spring-plugin-*.jar,引入到工程中。&& 5.配置Hibernate&&&&&&&& 1)解压缩hibernate-distribution-*.zip。导入hibernate-distribution-*GA/lib/required目录中的jar包。&&&&&&&&&&&&&&&& hibernate3.jar&&&&&&&&&&&&&&&&&&&&&&&& 核心类库&&&&&&&&&&&&&&&& antlr-2.7.6.jar&&&&&&&&&&&&&&&&&&&&&&&&& 代码扫描器,用来翻译HQL语句&&&&&&&&&&&&&&&& commons-collections-3.1.jar&&& Apache Commons包中的一个,包含了一些Apache开发的集合类,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 功能比java.util.*强大&&&&&&&&&&&&&&&& dom4j-1.6.1.jar&&&&&&&&&&&&&&&&&&&&&&& 一个Java的XML API,类似于jdom,用来读写XML文件的&&&&&&&&&&&&&&&& javassist-3.4.GA.jar&&&&&&&&&&&&&&&& Javassist 字节码解释器&&&&&&&&&&&&&&&& jta-1.1.jar&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 标准的JTA API。&&&&&&&&&&&&&&&& slf4j-api-1.5.2.jar&&&&&&&&&&&&&&&& slf4j-nop-1.5.2.jar&&&&&&&& 2)创建Hibernate配置文件。在WEB-INF/calsses目录下建立链接数据库的配置文件hibernate.cfg.xml。&&&&&&&&&&&& (本人比较懒,公司电脑中只有Access,也懒得下载别的DBMS。所以例子是连接Access的大家将就看吧。&&&&&&&&&&&&&*注意:需要导入Access_JDBC30.jar。&&& hibernate.cfg.xml:
&version="1.0"&encoding="UTF-8"&&
&!DOCTYPE&hibernate-configuration&PUBLIC&&&&&
&&&&&&&&&&"-//Hibernate/Hibernate&Configuration&DTD&3.0//EN"&&&&&
&&&&&&&&&&"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&&
&&&&&&&&&name="connection.driver_class"&&
&&&&&&&&&&&&com.hxtt.sql.access.AccessDriver&&&&&
&&&&&&&&&&
&&&&&&&&&name="connection.url"&&
&&&&&&&&&&&&jdbc:access:///D:/workspace/SSHTest/TestDatabase.accdb&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&name="eclipse.connection.profile"access&&
&&&&&&&&&name="connection.username"&&
&&&&&&&&&name="connection.password"&&
&&&&&&&&&name="dialect"com.hxtt.support.hibernate.HxttAccessDialect&&
&&&&&&&&&&
&&&&&&&&&name="show_sql"true&&
&&&&&&&&&&
&&&&&&&&&name="hibernate.dialect"&&
&&&&&&&&&&&&com.hxtt.support.hibernate.HxttAccessDialect&&&&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&resource="Login.hbm.xml"&&&
&&&&&&&&&&&&
&&&&&&&&&!--&Annotation方式配置&&
&&&&&&&&&class="entity.Login"&&
&&&&&&&&&--&&
&&&&&&&&&&&&&&注意:单独使用Hibernate需要创建Session工厂类HibernateSessionFactory.java&&&&&&&&&&&&&&&&&&&&& (如果用Spring整合就不需要了。Spring会在applicationContext.xml中创建。)&&&&&&&&&&&&&&&&&&&&&& Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session,&&&&&&&&&&&&&&&&&&&&& &而是类似于JDBC中的 Connection。Session是Hibernate运作的中心,&&&&&&&&&&&&&&&&&&&&&& 对象的生命周期、事务的管理、数据库的存取都与session息息相关。&&&&&&&&&&&&&&&&&&&&&& 而Session是由HibernateSessionFactory创建的,是线程安全的,&&&&&&&&&&&&&&&&&&&&&& 可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题,&&&&&&&&&&&&&&&&&&&&& &但不能让多个线程共享一个Session。&&&&&&& 3)Login.hbm.xml文件
&version="1.0"&encoding="UTF-8"&&
&!DOCTYPE&hibernate-mapping&PUBLIC&&
&&&&&&&&&&"-//Hibernate/Hibernate&Mapping&DTD&3.0//EN"&&
&&&&&&&&&&"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&&&
&package="包名"&&
&&&&&name="类名"&table="表名"&&
&&&&&&&&&name="主键在java类中的字段名"&column="对应表中字段"&type="类型&"&&
&&&&&&&&&&&&&class="主键生成策略"&&
&&&&&&&&&&
& 6.Spring整合Hibernate。Spring对hibernate的Session的创建、提交、关闭的整个生命周期进行管理。&&&&&&&& 1)& 配置sessionFactory,让spring来创建Session。在applicationContext.xml中增加如下代码:
&&&&&id="sessionFactory"&class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&&
&&&&&&&&name="configLocation"&&
&&&&&&&&&&&classpath:/hibernate.cfg.xml&&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:125999次
积分:1124
积分:1124
排名:千里之外
转载:83篇
评论:45条
(1)(1)(12)(43)(3)(3)(29)新人第一次接触struts2,做了一个demo却怎么也运行不起来。
用的是struts2.1.8。tomcat5.5。JDK1.5。
目录结构如下
web.xml代码如下
&?xml version="1.0" encoding="UTF-8"?&
&web-app id="WebApp_9" version="2.4" xmlns="/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"&
&display-name&Struts Student&/display-name&
&filter-name&struts2&/filter-name&
&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&/web-app&
struts.xml
&?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"&
&package name="default" extends="struts-default"&
&action name="insert" class="com.ibm.etp.action.InsertAction"&
&result name="success"&studentManagement.jsp&/result&
&/package&
InsertAction
package com.ibm.etp.
import com.opensymphony.xwork2.ActionS
public class InsertAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private String stuD
private String stuMSN;
private String cet4;
private String cet6;
private String JtestAD;
private String JtestEF;
private String Jlevel3;
private String Jlevel2;
private String stuA
public String getStuno() {
public void setStuno(String stuno) {
this.stuno =
public String getStuname() {
public void setStuname(String stuname) {
this.stuname =
public String getSex() {
public void setSex(String sex) {
this.sex =
public String getStubirthday() {
public void setStubirthday(String stubirthday) {
this.stubirthday =
public String getStuidcard() {
public void setStuidcard(String stuidcard) {
this.stuidcard =
public String getStudegree() {
public void setStudegree(String studegree) {
this.studegree =
public String getStuuniversity() {
public void setStuuniversity(String stuuniversity) {
this.stuuniversity =
public String getStuDepartment() {
return stuD
public void setStuDepartment(String stuDepartment) {
this.stuDepartment = stuD
public String getStuqq() {
public void setStuqq(String stuqq) {
this.stuqq =
public String getStuMSN() {
return stuMSN;
public void setStuMSN(String stuMSN) {
this.stuMSN = stuMSN;
public String getStuemail() {
public void setStuemail(String stuemail) {
this.stuemail =
public String getStutel() {
public void setStutel(String stutel) {
this.stutel =
public String getClassname() {
public void setClassname(String classname) {
this.classname =
public String getProgrameno() {
public void setProgrameno(String programeno) {
this.programeno =
public String getCet4() {
return cet4;
public void setCet4(String cet4) {
this.cet4 = cet4;
public String getCet6() {
return cet6;
public void setCet6(String cet6) {
this.cet6 = cet6;
public String getJtestAD() {
return JtestAD;
public void setJtestAD(String jtestAD) {
JtestAD = jtestAD;
public String getJtestEF() {
return JtestEF;
public void setJtestEF(String jtestEF) {
JtestEF = jtestEF;
public String getJlevel3() {
return Jlevel3;
public void setJlevel3(String jlevel3) {
Jlevel3 = jlevel3;
public String getJlevel2() {
return Jlevel2;
public void setJlevel2(String jlevel2) {
Jlevel2 = jlevel2;
public String getStuAppraisal() {
return stuA
public void setStuAppraisal(String stuAppraisal) {
this.stuAppraisal = stuA
public String getUnitname() {
public void setUnitname(String unitname) {
this.unitname =
public String getDuty() {
public void setDuty(String duty) {
this.duty =
public String execute(){
InsertBL bl
= new InsertBL();
bl.insert(stuno, stuname, sex, stubirthday, stuidcard, studegree, stuuniversity,
stuDepartment, stuqq, stuMSN, stuemail, stutel, classname, programeno, cet4,
cet6, JtestAD, JtestEF, Jlevel3, Jlevel2, stuAppraisal, unitname, duty);*/
return "success";
stuinfotest
&%@ page contentType="text/ charset=utf-8" language="java" import="java.sql.*" errorPage="" %&
&!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"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&title&无标题文档&/title&
String s = request.getContextPath();
&form name="myform" method="post" action="insert.action"&
&input name="submit" type="submit"
value="提交"
JSP中一共就一个提交按钮,让InsertAction做一个页面跳转而已,但是却一直出错。
请各位高手相助啊~
问题补充:&div class="quote_title"&xiaolongfeixiang 写道&/div&&div class="quote_div"& 报错不?
&br /&
&br /& 效果如何? 试试将
&br /&&pre name="code" class="xml"&
&result name="success"&/studentManagement.jsp&/result&&/pre&&/div&
&br /&从头到尾没有任何报错,连警告都没有,tomcat的logs下都没有任何信息。
&br /&在action中打了节点,运行中并没有进入debug可见并没有调用到action。同时classes下没有编译出来的文件。
&br /&这个方法改后没效果
问题补充:
&br /&&div class="quote_title"&xihuan&java 写道&/div&&div class="quote_div"&&pre name="code" class="java"&&form name="myform" method="post" action="insert.action"& &/pre&把后面的.action去掉试一下&/div&
&br /&这个方法改后没效果。
&br /&报错信息如下
&br /&&img src="/upload/attachment/7ce9e-60b1-337e-b4aa-e9.jpg" /&
&br /&
问题补充:&div class="quote_title"&MySpace 写道&/div&&div class="quote_div"&把project重新编译一下
&br /&不行的话,删除了默认的方法& 在action中再加一个方法& &/div&
&br /&不知道如何重新编译。。。。。
&br /&
&br /&
问题补充:&div class="quote_title"&MySpace 写道&/div&&div class="quote_div"&把project重新编译一下
&br /&不行的话,删除了默认的方法& 在action中再加一个方法& &/div&
&br /&重新看了下。发现classes下确实存在编译好的文件。。。
问题补充:&div class="quote_title"&MySpace 写道&/div&&div class="quote_div"&你建的是一个 javaproject?? 不是 webproject?
&br /&它们两个classpath好像不一样
&br /&换成webproject 试一下&/div&
&br /&是web的
问题补充:&div class="quote_title"&xiaolongfeixiang 写道&/div&&div class="quote_div"& 启动时,系统报错没?
&br /&
&br /& 你用的Eclipse?不是MyEclipse吧?&/div&
&br /&没报错。
&br /&是Eclipse
问题补充:&div class="quote_title"&xiaowuge 写道&/div&&div class="quote_div"&配置没有问题。
&br /&你把工程Clean(eclipse-Project下有Clean选项),重新编译一下。
&br /&看一下classes文件夹中有没有生成struts.xml文件。
&br /&
&br /&启动正常的话,在控制台会看到这样一条信息,
&br /&信息: Parsing configuration file [struts.xml]
&br /&
&br /&说明struts配置成功
&br /&&/div&
&br /& 15:46:25 org.apache.catalina.core.AprLifecycleListener init
&br /&信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.5.0_22\.;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.5.0_22\jre\c:\program files\java\jdk1.5.0_22\bin\..\jre\bin\c:\program files\java\jdk1.5.0_22\bin\..\jre\c:\program files\java\jdk1.5.0_22\C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\c:\program files\ati technologies\ati.ace\core-c:\program files\ibm\gsk8\C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\Program Files\TortoiseSVN\C:\Program Files\MySQL\MySQL Server 5.0\C:\Program Files\Common Files\Thunder Network\KanKan\CC:\Program Files\StormII\CC:\Program Files\StormII
&br /& 15:46:25 org.apache.coyote.http11.Http11BaseProtocol init
&br /&信息: Initializing Coyote HTTP/1.1 on http-8080
&br /& 15:46:25 org.apache.catalina.startup.Catalina load
&br /&信息: Initialization processed in 672 ms
&br /& 15:46:25 org.apache.catalina.core.StandardService start
&br /&信息: Starting service Catalina
&br /& 15:46:25 org.apache.catalina.core.StandardEngine start
&br /&信息: Starting Servlet Engine: Apache Tomcat/5.5.29
&br /& 15:46:25 org.apache.catalina.core.StandardHost start
&br /&信息: XML validation disabled
&br /& 15:46:26 org.apache.catalina.startup.HostConfig deployWAR
&br /&信息: Deploying web application archive struts2-blank-2.1.8.war
&br /& 15:46:26 com.opensymphony.xwork2.monsLogger info
&br /&信息: Parsing configuration file [struts-default.xml]
&br /& 15:46:26 com.opensymphony.xwork2.monsLogger info
&br /&信息: Unable to locate configuration files of the name struts-plugin.xml, skipping
&br /& 15:46:26 com.opensymphony.xwork2.monsLogger info
&br /&信息: Parsing configuration file [struts-plugin.xml]
&br /& 15:46:26 com.opensymphony.xwork2.monsLogger info
&br /&&span style="color: red"&信息: Parsing configuration file [struts.xml]&/span&
&br /& 15:46:27 org.apache.coyote.http11.Http11BaseProtocol start
&br /&信息: Starting Coyote HTTP/1.1 on http-8080
&br /& 15:46:27 org.mon.ChannelSocket init
&br /&信息: JK: ajp13 listening on /0.0.0.0:8009
&br /& 15:46:27 org.apache.jk.server.JkMain start
&br /&信息: Jk running ID=0 time=0/31& config=null
&br /& 15:46:27 org.apache.catalina.storeconfig.StoreLoader load
&br /&信息: Find registry server-registry.xml at classpath resource
&br /& 15:46:27 org.apache.catalina.startup.Catalina start
&br /&信息: Server startup in 2422 ms
&br /&有这条信息。但是我只要一点那个提交按钮,页面就报错。控制台也不输出报错信息。
问题补充:&div class="quote_title"&xiaowuge 写道&/div&&div class="quote_div"&struts2-config-browser-plugin-2.1.8.1.jar
&br /&
&br /&你下载这个插件,放到lib文件夹下,然后重新启动。
&br /&
&br /&输入http://hostname/app/config-browser/index.action
&br /&在相应的namespace下可以查看action配置是否成功。
&br /&
&br /&按理说,是应该没问题的,要不你重新建一个工程再试试。&/div&
&br /&我已经在官方下载包中找到你所说的插件。并放入lib下加入到bulidpath了。重启后输入http://hostname/app/config-browser/index.action
&br /&后无法显示页面啊~
问题补充:&div class="quote_title"&xiaowuge 写道&/div&&div class="quote_div"&&div class="quote_title"&引用&/div&&div class="quote_div"&重启后输入http://hostname/app/config-browser/index.action
&br /&后无法显示页面啊~ &/div&
&br /&
&br /&。。。要改成你自己的地址啊。。怎么可以完全复制呢。意思是
&br /&http://localhost:8080/你的工程根路径/config-browser/index.action
&br /&&/div&
&br /&HTTP Status 404 - /_IBMETP_Student_Management_System/config-browser/index.action
&br /&
&br /&--------------------------------------------------------------------------------
&br /&
&br /&type Status report
&br /&
&br /&message /_IBMETP_Student_Management_System/config-browser/index.action
&br /&
&br /&description The requested resource (/_IBMETP_Student_Management_System/config-browser/index.action) is not available.
&br /&
&br /&
&br /&--------------------------------------------------------------------------------
&br /&
&br /&Apache Tomcat/5.5.29
&br /&页面报错啊。。。。
问题补充:&div class="quote_title"&xiaolongfeixiang 写道&/div&&div class="quote_div"&
&br /&纯JSP页面可以访问的到不?
&br /&
&br /&是不是只有Action访问不到?&/div&
&br /&纯JSP页面可以访问。
&br /&只有Action访问不到
&br /&
采纳的答案
新建一个web project,应该就没问题了
纯JSP页面可以访问的到不?
是不是只有Action访问不到?
引用重启后输入http://hostname/app/config-browser/index.action
后无法显示页面啊~
。。。要改成你自己的地址啊。。怎么可以完全复制呢。意思是
http://localhost:8080/你的工程根路径/config-browser/index.action
struts2-config-browser-plugin-2.1.8.1.jar
你下载这个插件,放到lib文件夹下,然后重新启动。
输入http://hostname/app/config-browser/index.action
在相应的namespace下可以查看action配置是否成功。
按理说,是应该没问题的,要不你重新建一个工程再试试。
配置没有问题。
你把工程Clean(eclipse-Project下有Clean选项),重新编译一下。
看一下classes文件夹中有没有生成struts.xml文件。
启动正常的话,在控制台会看到这样一条信息,
信息: Parsing configuration file [struts.xml]
说明struts配置成功
启动时,系统报错没?
你用的Eclipse?不是MyEclipse吧?
你建的是一个 javaproject?? 不是 webproject?
它们两个classpath好像不一样
换成webproject 试一下
把project重新编译一下
不行的话,删除了默认的方法& 在action中再加一个方法&
&form name="myform" method="post" action="insert.action"& 把后面的.action去掉试一下
效果如何? 试试将
&result name="success"&/studentManagement.jsp&/result&
已解决问题
未解决问题页面导航:
→ 正文内容 使用maven+eclipse搭建最简单的struts2的helloworld
使用maven+eclipse搭建struts2开发环境
Struts 2是Apache基金会的明星级产品,提供了对MVC的一个清晰的实现,下面就为大家介绍一下使用maven+eclipse搭建struts2开发环境的方法
一、web分层结构简介1、web[细]粒度分层结构:
按细粒度分层可以分为以下6种:
1).表现层:html/css/js/jsp
2).控制层:servlet
3).实体层:javabean
4).业务逻辑层:javabean
5).持久层:jdbc/c3p0/dbutils
6).数据层:mysql/oracle2、web[粗]粒度分层结构(重点):
按粗粒度可以分为3层:
1).由上面的1)、2)、3)组成mvc
什么是MVC?
m即为model(模型层),v为view(表现层),c为controller(控制层)。
mvc仅用于表现层,不能作用于其它层。
2).业务层
3).持久层二、struts简介
Struts 2是Apache基金会的明星级产品,提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈等。
历史回顾:
2001年,struts1 web开源框架出现 (祖先)
2004年,webwork&web开源框架出现 (后代)
2007年,struts2 web框架出现 (后代),struts2不是struts1的升级版也不是webwork的升级版,多半来源于webwork,少半来源于struts1.
JSF(javaserverface) web框架(后代),成为java标准。
个人理解:
一句许说来就是一个大大的servlet,即对javaWeb常用的操作进行封装,是目前ssh框架重要的组成部分。
web框架个人看来就是对各种方法,编程思想进行封装,然后进行各种配置就可以很方便的进行开发了,看看框架的源码有助于理解大牛们的思想。三、下载struts2
下载地址为:Full Distribution:&(65MB)四、struts2的Hello World
&第一步,使用eclipse新建一个maven webapp工程,如下图所示:
点击next,选择webapp工程,然后Next:
点击next,再点击next,按下面类似填写即可。
点击Finish
将所信赖的jar包,struts2-core-2.3.16.jar和commons-io-1.3.2.jar加入pom.xml中,如下所示: 代码如下:&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&&& xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&&&& &modelVersion&4.0.0&/modelVersion&&&& &groupId&com.amos&/groupId&&&& &artifactId&struts2&/artifactId&&&& &packaging&war&/packaging&&&& &version&0.0.1-SNAPSHOT&/version&&&& &name&struts2 Maven Webapp&/name&&&& &url&http://maven.apache.org&/url&&&& &dependencies&&&&&&&& &dependency&&&&&&&&&&&& &groupId&junit&/groupId&&&&&&&&&&&& &artifactId&junit&/artifactId&&&&&&&&&&&& &version&3.8.1&/version&&&&&&&&&&&& &scope&test&/scope&&&&&&&& &/dependency&&&&&&&& &dependency&&&&&&&&&&&& &groupId&org.apache.struts&/groupId&&&&&&&&&&&& &artifactId&struts2-core&/artifactId&&&&&&&&&&&& &version&2.3.16&/version&&&&&&&& &/dependency&&&&&&&& &dependency&&&&&&&&&&&& &groupId&mons&/groupId&&&&&&&&&&&& &artifactId&commons-io&/artifactId&&&&&&&&&&&& &version&1.3.2&/version&&&&&&&& &/dependency&&&& &/dependencies&&&& &build&&&&&&&& &finalName&struts2&/finalName&&&& &/build&&/project&
第三步:配置web.xml
这里是copy刚才下载的struts-2.3.16-all.zip包里的apps/struts2-blank.war中的web.xml。
代码如下:&!DOCTYPE web-app PUBLIC&"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"&"/dtd/web-app_2_3.dtd" &
&web-app&&&& &display-name&Archetype Created Web Application&/display-name&&&& &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&/*&/url-pattern&&&& &/filter-mapping&&/web-app&第四步:HelloWorldAction.java
这里继承自ActionSupport类,只是在控制台输出"欢迎使用struts2!"字符串。
代码如下:package com.amos.web.
import com.opensymphony.xwork2.ActionS
//struts2的控制器 public class HelloWorldAction extends ActionSupport{&&& private static final long serialVersionUID = 8961847L;&&& //重写execute()方法&&& public String execute() throws Exception {&&&&&&& System.out.println("欢迎使用struts2!");&&&&&&& return super.execute();&&& }}
第五步:apps/struts2-blank.war,WEB-INF/classes/中拷贝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&&package name="com.amos.web.action" namespace="/" extends="struts-default" &&action name="HelloWorldAction" class="com.amos.web.action.HelloWorldAction" method="execute"& &/action&&/package& &/struts&
将struts.xml拷贝到resource目录下如下图所示:
第六步:启动tomcat,输入http://localhost:8080/struts2/HelloWorldAction查看控制台输出
这里浏览器会报错因为没有任何response返回,但这里只是简单配置struts2,只为验证控制台输出,所以可忽略。
apps中有好几个示例可以研究:
struts2-blank.war struts2-portlet.war struts2-showcase.warstruts2-mailreader.war struts2-rest-showcase.war
这里我只导入了第一个,struts2-blank.war,导入方法为import--warfile-选择war包,然后下一步下一步即可。
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910

我要回帖

更多关于 eclipse控制台不输出 的文章

 

随机推荐