eclipse web helloworld

eclipse中创建动态web工程

1. Java Resource中创建包及类HelloWorldAction


类名HelloWorldAction

/*
 * Created on 2006-3-23
 * TODO
 * author:gf
 */
package com.gc.action;


import java.io.IOException;
import java.util.HashMap;
import java.util.Map;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.apache.log4j.Logger;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.bind.RequestUtils;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import org.springframework.web.servlet.view.RedirectView;


// 实现了controller接口
public class HelloWorldAction implements Controller {
private Logger logger = Logger.getLogger(this.getClass().getName());
private String helloWorld;
private String viewPage;

public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
Map<String, String> model = new HashMap<String, String>();
model.put("helloWorld", getHelloWorld());
return new ModelAndView(getViewPage(), model);
}


//依赖注入要返回的页面
public void setViewPage(String viewPage) {
this.viewPage = viewPage;
}


//获取要返回的页面
public String getViewPage() {
return viewPage;
}


//依赖注入也显示在页面中的文字
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}


//获取要显示在页面中的文字
public String getHelloWorld() {
return helloWorld;
}
}


2.dispatcherServlet-servlet.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    
    <!-- urlMapping :定义一个映射,对helloWorld.do的访问将会映射到 id为helloWorldAction的bean-->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="helloWorld.do">helloWorldAction</prop>
</props>
</property>
</bean>

<!-- viewResolver : 定义视图解析器. 通过viewClass属性来指定使用的视图,这里指定 org.springframework.web.servlet.view.InternalResourceView
,表示使用的是jsp/servlet技术 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
<!--<value>org.springframework.web.servlet.view.JstlView</value> -->
</property>
</bean>


<!-- helloWorldAction : 指定对HelloWorld.do访问时使用的控制器为com.gc.action.HelloWorldAction -->
<bean id="helloWorldAction" class="com.gc.action.HelloWorldAction">
   <!-- helloWorld为控制器 通过依赖注入要在页面中显示的内容,这里要在页面中显示HelloWorld -->
<property name="helloWorld">
   <value>HelloWorld TTTT</value>
</property>

<!-- viewPage 属性为控制器通过依赖注入要返回的页面,这里要返回的页面是 index.jsp -->
<property name="viewPage">
   <value>/WEB-INF/jsp/index.jsp</value>
</property>
</bean>


</beans>


3.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>  
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 初始化参数 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value>
</init-param>

<load-on-startup>1</load-on-startup>

</servlet>


<!-- 拦截所有以do结尾的请求 -->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<welcome-file-list>    
        <welcome-file>index.jsp</welcome-file>    
  </welcome-file-list>    



</web-app>


4.log4j.properties文件放哪里合适?



log4j.rootLogger=DEBUG,stdout,R


log4j.logger.org=ERROR, A1


log4j.logger.com.gc.action=DEBUG,A2


log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=org.log
log4j.appender.A1.MaxFileSize=500KB
log4j.appender.A1.MaxBackupIndex=50
log4j.appender.A1.Append=true
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} - [%p] [%C{1}] - %m%n




log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=gc.log
log4j.appender.A2.MaxFileSize=500KB
log4j.appender.A2.MaxBackupIndex=50
log4j.appender.A2.Append=true
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{ISO8601} - [%p] [%C{1}] - %m%n


#--------------------stdout--------------------------------
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout


# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n


#--------------------R--------------------------------
#log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#this log file will be stored in web server's /bin directory,modify to your path which want to store.
log4j.appender.R.File=gf.log
#log4j.appender.R.datePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.R.datePattern='.'yyyy-MM-dd
log4j.appender.R.append=true
## Keep one backup file
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n
#[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n


5.index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test Spring Web</title>
</head>


<% String str = (String) request.getAttribute("helloWorld"); %>
<body>

<h1><%=str %></h1>

</body>
</html>



6.第一天运行程序时,将本机中的tomcat关闭。eclipse中访问http://localhost:8080/spring-test/helloWorld.do,程序正确运行。


第二天再运行,发现一直提示错误,我在任务管理器中删除javaw.exe,仍然无法运行。后将WebContent目录下的index.jsp拷贝到WebContent/WEB-INF/jsp/目录下,程序正确运行了。但是,我第一天运行成功的前提是将WebContent/WEB-INF/jsp/目录下的index.jsp拷贝到WebContent目录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值