Struts 1.x 基于 Servlet,Struts 2.x基于Filter
1、servlet的注解配置方式和web.xml配置方式
使用servelt 3.0,eclipse在创建seb项目是,默认情况是不会自动创建web.xml文件的, 在servlet 3.0版本中,此配置文件不是必须的,servelt、filter等可以直接在.java文件中直接进行注解配置!
注意:在eclispe中,勾选了servelt 3.0后,不会自动勾选生成web.xml文件,我们需要自己勾上,才会在项目中生成web.xml。
为servlet配置初始化参数
为jsp配置初始化参数
2、Struts1.x环境搭建 (1) 复制Jar包 (2)修改web.xml文件 (3)添加添加struts-config.xml文件。
配置方式可以参照
http://miaoxianjie.iteye.com/blog/1150236
也可以从下载的例子程序中复制,目录就是 struts-1.3.10\apps 下,里面有原始的例子程序,第一个 struts-blank-1.3.10.war 的配置就行了。
下面是一些截图:
随后Myservlet自动生成的代码:
package javastudy; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet( description = "This is servlet", urlPatterns = { "/myurl" }, initParams = { @WebInitParam(name = "pageSize", value = "15",description="这是页面行数"), @WebInitParam(name = "author", value = "Shawn.Yang",description="这是免贵") }) public class MyServelt extends HttpServlet { private static final long serialVersionUID = 1L; public MyServelt() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.write("Hello World!"); Enumeration<String> params = this.getInitParameterNames();//获取所有初始化参数的键 //遍历 while(params.hasMoreElements()){ String paramName = params.nextElement();//初始化参数名 String paramValue = this.getInitParameter(paramName);//获取初始化参数的方法 System.out.println(paramName + "=" + paramValue); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
使用注解的话,就不需要在web.xml中配置servlet了。
或者不用注解,在web.xml文件中配置:
<servlet> <servlet-name>MyUrl</servlet-name> <servlet-class>javastudy.MyServelt</servlet-class> <init-param> <param-name>pageSize</param-name> <param-value>25</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>MyUrl</servlet-name> <url-pattern>/myurl</url-pattern> </servlet-mapping>
都一样,随便用一种。