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>

都一样,随便用一种。

Struts1.x 环境搭建和技术准备(上)的更多相关文章

  1. 神经网络环境搭建,windows上安装theano和keras的流程

    今天碰到有朋友问道怎么在windows下安装keras,正好我刚完成搭建,总结下过程,也算是一个教程吧,给有需要的朋友. 步骤一:安装python. 这一步没啥好说的,下载相应的python安装即可, ...

  2. 新公司,环境搭建,windows上的坑

    1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...

  3. 初学 React native | 环境搭建(在模拟器上运行)

    我的电脑是windows 所以就以 windows上+Android 配置React native 环境 网上的安装教程非常多,我总结了一下,配置环境时出错原因主要是node java python ...

  4. python环境搭建-在Windows上安装python3.5.2

    在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...

  5. socket.io,环境搭建 & Hello world

    原文:http://www.cnblogs.com/xiezhengcai/p/3955827.html socket.io 一个与服务器实时通信的工具,它与原生的webSocket相比,具有更可靠. ...

  6. 第一章 andriod studio 安装与环境搭建

    原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android Stu ...

  7. android studio 安装与环境搭建

    转摘自:http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android St ...

  8. NDK开发环境搭建_r8

    本文主内容: 1.  Android NDK 安装 2.  安装Cygwin与使用NDK编译 3.  在Eclipse中集成C/C++开发环境CDT 4.  安装Sequoyah插件 5.  JNI编 ...

  9. 基于Ubuntu的ORB-SLAM2项目环境搭建过程

    目录 关于ORB-SLAM2 环境搭建 已有环境 创建环境 新建项目目录 安装Pangolin 安装OpenCV 3.2 安装Eigen DBoW2 and g2o (Included in Thir ...

随机推荐

  1. 让EFCore更疯狂些的扩展类库(二):查询缓存、分部sql、表名替换的策略配置

    前言 上一篇介绍了扩展类库的功能简介,通过json文件配置sql语句 和 sql语句的直接执行,这篇开始说明sql配置的策略模块:策略管理器与各种策略的配置. 类库源码:github:https:// ...

  2. ACM 刷题小技巧【转】

    转载自URl-team ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好 ...

  3. Hadoop权威指南:HDFS-数据流

    Hadoop权威指南:HDFS-数据流 [TOC] 剖析文件读取 客户端通过调用FileSystem对象的open()方法来打开希望读取的文件,对于HDFS来说, 这个对象是分布式文件系统的一个实例 ...

  4. 第七届蓝桥杯javaB组真题解析-生日蜡烛(第二题)

    题目 /* 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...

  5. javascript 终止函数执行操作

    1.如果终止一个函数的用return即可,实例如下:function testA(){    alert('a');    alert('b');    alert('c');}testA(); 程序 ...

  6. Python自然语言处理学习笔记之性别识别

    从今天起开始写自然语言处理的实践用法,今天学了文本分类,并没用什么创新的东西,只是把学到的知识点复习一下 性别识别(根据给定的名字确定性别) 第一步是创建一个特征提取函数(feature extrac ...

  7. 获取当前用户的网络状态--iOS

    http://m.blog.csdn.net/blog/u014483033/39229417

  8. C语言memset学习

    #include <stdio.h> #include <memory.h> ]); //函数声明 void main(){ ]={{,,},{,,},{,,},{,,}};/ ...

  9. Pycharm安装及遇到的问题

    趁寒假想自学一下python语言,有人推荐eclipse+pydev但是因为java编程用了eclipse,不太想一个IDE用于多种语言开发(个人喜好),于是就下载了Pycharm,之间安装了也遇到了 ...

  10. OOP面向对象三大特点

    OOP面向对象三大特点 (一)封装:将现实中一个事物的属性和功能集中定义在一个对象中.(创建对象) 创建对象的3种方式: 1.直接量方式:(创建一个单独的对象) var obj={ 属性名:值,    ...