struts2基本配置
学了几天java终于看到框架了。下面总结下struts框架基本配置。
首先需要到官网去下载这个东东。然后解压到本地文件,在解压后的文件的lib目录下需要把这些jar包拿出来放到
你自己的web项目的WEB-INF/lib下,。
然后配置web.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 5 id="WebApp_ID" version="3.0"> 6 <display-name>Welcome to Tomcat</display-name> 7 <description>Welcome to Tomcat</description> 8 <!-- 定义欢迎界面 --> 9 <welcome-file-list> 10 <welcome-file>login.jsp</welcome-file> 11 </welcome-file-list> 12 <filter> 13 <!-- 过滤器的名字 --> 14 <filter-name>struts2</filter-name> 15 <!-- 引用个具体类文件 --> 16 <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> 17 </filter> 18 <filter-mapping> 19 <filter-name>struts2</filter-name> 20 <url-pattern>/*</url-pattern> 21 </filter-mapping> 22 </web-app>
接下来配置struts.xml,注意:struts.xml文件是放在项目的src下
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" 4 "http://struts.apache.org/dtds/struts-2.5.dtd"> 5 <struts> 6 <include file="struts-default.xml"></include> 7 <!-- 指定默认编码集 --> 8 <constant name="struts.i18n.encoding" value="UTF-8"></constant> 9 <!-- 指定需要Struts2处理的请求后缀 --> 10 <constant name="struts.action.extension" value="do,action"></constant> 11 <!-- 设置浏览器是否缓存静态内容,开发阶段应关闭,生产阶段打开,默认为打开 --> 12 <constant name="struts.serve.static.browserCache" value="false"></constant> 13 <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认为false,开发阶段应打开 --> 14 <constant name="struts.configuration.xml.reload" value="true"></constant> 15 <!-- 开发模式下使用,可以打印出更详细的错误信息 --> 16 <constant name="struts.devMode" value="true"></constant> 17 <!-- action全部用注解进行配置 --> 18 <!-- 是否开启动态方法调用 --> 19 <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 20 <!--添加包 --> 21 <package name="action" extends="struts-default"> 22 <action name="login" class="action.LoginAction"> 23 <result name="input">/login.jsp</result> 24 <result name="error">/error.jsp</result> 25 <result name="success">/welcome.jsp</result> 26 </action> 27 </package> 28 </struts> 29
接下来写一个简单的登录界面:
1 <s:form action="login"> 2 <s:textfield name="username" key="用户" /> 3 <s:textfield name="password" key="密码" /> 4 <s:submit key="login" /> 5 </s:form>
这里用到的标签是struts提供的,需要在页面中才能使用这些标签。
接下来写一个处理类,处理类中的属性一定要和登录界面的name一致。处理类是继承ActionSupport,重写execute()方法。代码如下:
1 public class LoginAction extends ActionSupport { 2 private String username; 3 private String password; 4 public String getUsername() { 5 return username; 6 } 7 public void setUsername(String username) { 8 this.username = username; 9 } 10 public String getPassword() { 11 return password; 12 } 13 public void setPassword(String password) { 14 this.password = password; 15 } 16 @Override 17 public String execute() throws Exception { 18 // TODO Auto-generated method stub 19 if (getUsername().equals("张三") && getPassword().equals("123")) { 20 ActionContext.getContext().getSession().put("username", getUsername()); 21 return SUCCESS; 22 } else { 23 return ERROR; 24 } 25 } 26 }
然后在加一个error.jsp和welcome.jsp界面就ok!