大家好我是Miko,最近入门JavaWeb,JSP Servelet过了一遍之后,开始入手Struts2框架,爬坑之路幸苦,写下博客谨记。
废话不多说首先创建一个Java Web项目:
这里第一个坑出现了,注意上面红框中的Tomcat服务器的版本,我这里使用的是自己下载的Tomcat环境,MyEclipse自带Tomcat,一定要记住这里所选择的版本。
创建完成之后运行一下项目确认Tomcat服务器配置没有问题。
没有错误后我们就要导入Struts的jar包了,在Eclipse中我们需要选择需要的jar包,然后复制到项目中,而在MyEclipse中导入则十分简单
如图:选中项目找到Project Facets这个选项,这里面就有添加Struts的选项
坑来了,这里的runtime一定要选择创建项目时选择的Tomcat版本
添加完毕后在src目录中将会自动创建一个struts.xml文件,同时在WEB-INF中的web.xml中也会自动添加上拦截器,我们打开struts.xml文件修改其中的代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="miko" extends="struts-default">
<action name ="hello">
<result>hello.jsp</result>
</action>
</package></struts>
<constant name="struts.devMode" value="true" />
这一行的含义是打开开发者模式,即重新运行的时候不重启服务器。重点是添加action,我们添加了一个hello action返回的内容是 hello.jsp
因此我们再创建一个hello.jsp内容随意。
接下来我们对index.jsp进行修改,完成跳转。
<body>
<a href="<%=basePath%>hello.action">hello 界面--->>></a>
</body>
body中添加一个链接这个链接就是hello.action的完整相应地址,basePath则是
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
很好理解。ok接下来我们重新运行项目。这里坑又来了,如果之前的服务器一直处在运行状态,很可能这是运行时会404错误,解决方法也很简单,只需要在西安棉的面板中关闭服务器,在重新运行即可。