Struts+Tomcat搭建

tomcat使用(服务器端开发):

如果要安装Tomcat需要进行的配置:tomcat安装在c: \Tomcat

CATALINA_HOME变量值设为: H:\Program Files (x86)\tomcat\apache-tomcat-7.0.27

CATALINA_BASE变量值设为: H:\Program Files (x86)\tomcat\apache-tomcat-7.0.27

CATALINA_TMPDIR变量值设为:H:\Program Files (x86)\tomcat\apache-tomcat-7.0.27\temp;

检测Tomcat配置是否成功:

接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了

应用一之建立自己的jsp app目录

1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;

2.在webapps目录下新建一个目录,起名叫myapp;

3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;

4.WEB-INF下新建一个文件web.xml,内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>My Web Application</display-name>
  <description> A application for test. </description>
</web-app>

5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:<html><body><center> Now time is: <%=new java.util.Date()%> </center></body></html>

6.重启Tomcat

7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 能看到当前时间就说明成功了

 应用二之建立自己的Servlet

1.写入你的第一个Servlet

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*; public class HelloWorld extends HttpServlet
{
  public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html><head><title>");
    out.println("This is my first Servlet");
    out.println("</title></head><body>");
    out.println("<h1>Hello,World!</h1>");
    out.println("</body></html>");
  }
}

2.然后用javac HelloWorld.java命令来编译它如果出现软件包 javax.servlet 不存在等错误信息将”Tomcat安装目录\lib”目录下的servlet-api.jar拷贝一份放到“JDK安装目录\jre\lib\ext”目录下凡是出现找不到包的情况,都可以将找到的包放到JDK\jre\lib\ext下

3.然后在”tomcat安装目录\webapps\ROOT” 里面按如下的文件结构ROOT\WEB-INF\lib\servlet-api.jar(servlet的.jar包,要放在lib下面,可以改名字)

ROOT\WEB-INF\classes\HelloWorld.class(把上面生成的HelloWorld.class放这)

4.修改”tomcat安装目录\webapps\ROOT\WEB-INF”下的web.xml模板文件

把下面这段程序

servlet>
.....
</servlet> <servlet-mapping>
......
</servlet-mapping>

替换成

<servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>HelloWorld</servlet-class>
</servlet> <servlet-mapping>
  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>

如果没有的话,就直接加那段代码

修改完毕后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld

看到hello,world !表示成功了

补充:在JSP文件开头加入下面这条语句可以实现中文名称显示

<%@ page language="java" contentType="text/html; harset=gb2312" %>

修改tomcat安装目录下conf\server.xml为

port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"
connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>

注意黑体部分是修改的地方,修改之后就可以让TOMCAT支持中文链接了
         应用三之建立搭建struts使用myeclipse开发自己的Servlet

如果在MyEclipse里创建dynamic web project的话(我用的myeclipse10)

1.准备工作,去网上下载struts-1.3.10类库(2.3.1.2版本经测试少包)

2.需要在创建新项目时,选中Show All Wizards:

然后file-->new-->other-->web-->dynamic web project创建好项目名为web的项目-->finish如图

3.在项目WebContent\WEB-INF目录下建一个page文件夹,留作备用(存放自己的页面)

右击WEB-INF文件夹-->New-->Folder-->Folder name为page-->finish

4.将struts\lib下的jar包复制到WebContent\WEB-INF\lib目录下,右击项目名-->MyEclipse-->add JSTL Libraries…-->finish导入jstl类库此时WebContent\WEB-INF\lib会多出jstl.jar和standard.jar(myeclipse2014好像自动添加了而且好像没有standard.jar,而且target running那一项添加不上其他的选项)

5.由于strus接收中文请求参数存在乱码,需要通过一个过滤器解决

右击项目-->New-->Filter然后配置如图

点击finish会生成EncodeingFilter类,然后删除类中没必要的代码,最后代码如下

package com.bravestarr.web.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

@WebFilter("/EncodeingFilter")
public class EncodeingFilter implements Filter {
  public void destroy() {
  }

  public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
    //我们的网站是什么编码此处就设置什么编码
    request.setCharacterEncoding("UTF-8");
    chain.doFilter(request, response);
  }

  public void init(FilterConfig fConfig) throws ServletException {
  }
}

6.生成struts配置文件并进行配置

右击项目名-->MyEclipse-->add structs Capabilities…-->进行如下设置-->finish此时也会自动生成一个web.xml

修改struts-config.xml成

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="myForm" type="com.bravestarr.formbean.MyForm" />
</form-beans>

<action-mappings>
<!-- 表示运行时地址栏路径为manage.do -->
<action path="/manage" name="myForm" scope="request" parameter="method" type="com.bravestarr.action.MyManageAction">
<forward name="result" path="/WEB-INF/page/result.jsp"/>
</action>
</action-mappings>
</struts-config>

7.修改web.xml成

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>myweb</display-name>
<filter>
<filter-name>EncodingFilter</filter-name>
<display-name>EncodingFilter</display-name><!--这是错误的地方,原博主写的不对,这条不能加因为displayname是站台名-->
<!-- 处理中文乱码的EncodingFilter类 -->
<filter-class>com.bravestarr.web.filter.EncodingFilter</filter-class>
</filter> <filter-mapping>
<filter-name>EncodingFilter</filter-name>
<!-- 表示对所有.do结尾的进行过滤 -->
<url-pattern>*.do</url-pattern>
</filter-mapping> <!-- 启动struts框架的servlet -->
<servlet>
<servlet-name>struts</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<!-- struts的配置文件 -->
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>struts</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

8.实现struts-config.xml中的result.jsp结果页面视图,用来显示结果,右击第3步创建的page文件夹,New-->Other(选中Show All Wizards)-->web-->JSP File-->Next-->File name输入result.jsp-->finish

生成的JSP文件默认编码为” ISO-8859-1”需要改成你需要的,比如我们用”UTF-8”

9.实现struts-config.xml中的“com.bravestarr.formbean.MyForm“继承自ActionForm

右击项目名-->New-->Class-->进入如下配置后点击finish

修改代码如下

package com.bravestarr.formbean;

import org.apache.struts.action.ActionForm;

public classMyForm extends ActionForm {
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

10.实现struts-config.xml中的“com.bravestarr.action.MyManageAction”继承自DisPatchAction,右击项目名-->New-->Class-->进入如下配置后点击finish

然后重写execute(ActionMapping mapping, ActionForm form,     HttpServletRequest request, HttpServletResponse response)方法,然后随便改个方法名字如下

package com.bravestarr.action;
import com.bravestarr.formbean.*;//原博主忘了这条,不知道怎么运行起来的,估计也是粘贴复制吧
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction; public classMyManageAction extends DispatchAction {
public ActionForward showInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
MyForm myForm= (MyForm)form;
System.out.println("name="+myForm.getName());
return mapping.findForward("result");
}
}

打开浏览器,输入http://localhost:8080/web/manage.do?method= showInfo &name=zhangsan 能看到“zhangsan您好”就说明成功了

Struts+Tomcat搭建的更多相关文章

  1. Struts+Spring搭建

    前言 本文以Tomcat为j2ee容器,数据库为Sqlserver2005进行说明.Struts版本为2.3.15.3,Spring版本为3.2.5 Spring简介 Spring也是appache下 ...

  2. 用tomcat搭建web服务器

    链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...

  3. 使用Tomcat搭建图片服务器,使图片能够用链接访问

    在后台和前端交互时,遇到了后台存储的图片,前端根据地址无法访问,使用Tomcat搭建图片服务器 1.找到tomcat下的server.xml文件 2.配置文件下加入service节点 <!--为 ...

  4. 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)

    版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeepe ...

  5. Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享

    小伙伴们好久不见!最近略忙,博客写的有点少,嗯,要加把劲.OK,今天给大家带来一个JavaWeb中常用的架构搭建,即Nginx+Tomcat搭建服务集群,然后通过Spring Session+Redi ...

  6. Nginx + Tomcat搭建集群

    一.Tomcat集群带来的好处 1.提高服务的性能,并发能力,以及高可用性 2.提供项目架构的横向扩展能力 二.Tomcat集群实现原理 通过Nginx负载均衡进行请求转发 三.Nginx + Tom ...

  7. 使用 Nginx + Tomcat 搭建负载均衡

    负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balance, ...

  8. 【转】tomcat搭建本地服务器 实现apk更新下载

    转自:http://www.kankanews.com/ICkengine/archives/121748.shtml 做apk的更新下载功能,测试的时候需要个服务器. 所以就选用 Apache To ...

  9. 使用Tomcat搭建基于域名的虚拟机

    Tomcat搭建基于域名的虚拟主机,实际就是实现了同一个Tomcat部署多个项目(网站/应用程序).端口可以使用同一个,也可以不同. (1).在tomcat的conf文件夹下存在Tomcat的配置文件 ...

随机推荐

  1. 关于两次指针(struct型)传参数的问题

    这两天被struct传参给郁闷死了.今天终于解决了. 比如有一个struct如下: struct _ns1__Add_USCORESensorDataArray{ struct xsd__base64 ...

  2. Problem D Ananagrams(map的使用)

    题目链接:Problem D 题意:输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另一个单词.在判断是否满足条件时,字母不区分大小写. 但是输出时应保留原始大小写, ...

  3. 自定义jquery手风琴插件

    手风琴效果是项目中使用频率较高的一种效果,原来项目一直都在用easyui的,临近年末,试着自己写了一个 css样式 /* CSS Document */ body { margin: 0 auto; ...

  4. IOS 学习笔记(7) 控件 分隔栏控件(UISegmentControl)的使用方法

    分隔栏控件的系统默认式样一共有3种,分别是“普通式样”,"边框式样","条状式样" 分隔栏控件中有一个momentary属性,默认时NO.当开发者配置成YES时 ...

  5. C++ 面向对象学习2 构造方法

    Date.h #ifndef DATE_H #define DATE_H class Date{ public: Date(,,);//自定义了构造方法 会覆盖掉默认的无参构造方法 void setD ...

  6. java牛人给新人的几点建议

    展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...

  7. 有关FTPS和VNP的详解

    http://hfang.blog.51cto.com/4449017/811744 http://www.h3c.com.cn/MiniSite/Technology_Circle/Technolo ...

  8. IOS学习之路二十四(UIImageView 加载gif图片)

    UIImageView 怎样加载一个gif图片我还不知道(会的大神请指教),不过可以通过加载不同的图片实现gif效果 代码如下: UIImageView* animatedImageView = [[ ...

  9. Intellij IDEA创建Maven Web项目

    1前言 在创建项目中,IDEA提供了非常多项目模板,比方Spring MVC模板,能够直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就能够使用. 最開 ...

  10. DontDestroyOnLoad(Unity3D开发之五)

    Unity中我们从A场景切换到B场景的时候,A场景全部对象都会销毁,但有时候我不须要销毁某些东西. 比方一个简单的游戏的背景音乐,我不须要多次反复创建,多个场景播放这一个即可了.这个时候就须要用到Do ...