步骤 2 : 模仿和排错 步骤 3 : 在eclipse中创建Web动态项目struts 步骤 4 : 导入jar包 步骤 5 : 新建web.xml 步骤 6 : 配置struts.xml 步骤 7 : 创建index.jsp 步骤 8 : 部署在tomcat中,重启测试 步骤 9 : 思路图 步骤 10 : 可运行项目 步骤 11 : 练习
Struts需要做不少步骤,任何一步部做漏了,做错了,都有可能失败,这样会影响学习的信心,并且误以为本教程是走不通的。
所以先下载右上角的可运行项目 struts.rar,解压后导入到eclipse中,启动Tomcat,观察是否正常运行。确定可以运行,确定教程是可以跑得起来的,再学习下面的内容。 导入到Eclipse中并运行的办法请参考:导入动态Web项目到Eclipse中 部署成功之后,测试地址,应该看到如图所示的效果 http://127.0.0.1:8080/struts/index 注: 这是动态项目格式,不支持独立Tomcat方式部署
在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。
模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较正确答案 ( 可运行项目 ) 和自己的代码,来定位问题所在。 采用这种方式,学习有效果,排错有效率,可以较为明显地提升学习速度,跨过学习路上的各个槛。 推荐使用diffmerge软件,进行文件夹比较。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。 这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来 这里提供了绿色安装和使用教程:diffmerge 下载和使用教程
在eclipse中新建项目struts,使用dynamic web project的方式。 不熟悉这种方式的同学,请参考 使用Dynamic Web Project的方式开发J2EE应用
下载右上角的lib.rar,解压后复制到WEB-INF/lib里
在WEB-INF目录下新建web.xml
其中配置了一个 Filter, 所有的请求都被过滤给了这个 Filter org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <web-app>
<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>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
<web-app> <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> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
在src目录下创建一个struts.xml文件
这是最简单的struts.xml配置 其效果是当访问index路径的时候,服务端跳转到index.jsp <?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="basicstruts" extends="struts-default">
<action name="index">
<result>index.jsp</result>
</action>
</package>
</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"> <struts> <package name="basicstruts" extends="struts-default"> <action name="index"> <result>index.jsp</result> </action> </package> </struts>
在web目录下创建index.jsp,
其内容很简单 就是一句 Hello Struts2 World Hello Struts2 World
Hello Struts2 World
部署在Tomcat中,重启tomcat,然后访问地址,观察效果
http://127.0.0.1:8080/struts/index 相当于实现了servlet的服务端跳转到index.jsp的功能 部署办法请参考 通过Eclipse启动Tomcat-Run On Server
1. 所有的访问都会被web.xml中配置的Struts 的 Filter所拦截
2. 拦截之后,就进入struts的工作流程 3. 访问的地址是/index,根据struts按照 struts.xml中的配置,服务端跳转到index.jsp 4. 显示index.jsp的内容
在右上角有本知识点对应的可运行项目下载 ,实在自己搞不出来,就下载解压出来比较一下
准备一个hello.jsp文件
通过配置struts.xml实现访问路径 /hello 跳转到 hello.jsp
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2022-08-11
对于使用idea,出现过滤器问题的解决方法
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-03-24
访问路径去掉struts就没问题了
5 个答案
pxq123456 跳转到问题位置 答案时间:2022-06-07 在idea 创建Struts项目,上面报404,可能是配置tomat没配置好
RiverGod 跳转到问题位置 答案时间:2021-11-21 idea 路径里面默认不加项目名,需要在idea的tomact配置
byxdbyj玉 跳转到问题位置 答案时间:2021-07-17 楼主的问题解决了吗?我也一样的问题。。
苦练技术 跳转到问题位置 答案时间:2021-04-08 我解决了,可以在IDEA中,通过新建一个动态web项目,来解决这个问题。不导入站长的项目,而是新建一个。可以参考这篇文章:
https://blog.csdn.net/Awt_FuDongLai/article/details/115523552
苦练技术 跳转到问题位置 答案时间:2021-04-08 我的情况是访问http://localhost:8080/struts/index会报404错误,
访问http://localhost:8080/struts/index.jsp就能出现正确的页面。
有大佬知道怎么回事吗
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-02-19
关于练习题不能访问/hello的问题
2020-11-29
过滤器有问题
2020-04-08
filter配置出错
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 35 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|