Web开发基础--Servlet
2010-10-29 23:06
357 查看
用向导创建了一个Dynamic Web Project后,我创建了一个Servlet;下载了Google的HTML页面,并将该页面添加到Project中,期望,访问这个servlet时,直接显示这个Google的页面。
这里用到了javax.servlet.RequestDispatcher;通过HttpServletRequest得到Dispatcher,然后在forward,将Google.htm传出即可。
下面面临的问题就是,怎么访问这个Servlet?
这里就需要理解web.xml;
web.xml有几个主要的功能:
1. servlet的名称和映射;
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
- <servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
所有*.jsf的url访问都会映射到Faces Servlet;而Faces Servlet会映射到类FacesServlet
2. session的设定
<session-config>
<session-timeout>10</session-timeout>
</session-config>
一个session的超时时间;应该是10s;
3.针对环境参数(Context)做初始化工作
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
- <context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
- <context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/ezcomp-taglib.xml</param-value>
</context-param>
编辑我的web.xml,加入servlet-mapping和servlet后,搞定!
这里有一个注意的,就是Eclipse自带的XML编辑器,有servlet-mapping等element的名称提示;我不知道XML编辑器是怎么得到这些的。我的猜测是从web-app的属性xmlns得到的。
此外,在调试过程中,还遇到了dynamic web project不能run的问题;总是提示Server Error: The selection cannot run on any server.
查了一下,有几个不确定的地方:
1. Preference-->Server---->Profile: No server profilers registered!
2. Run time Environments: 要不要添加J2EE的库;网上有文章说要添加;
3. project的属性页-->Server: 提示the project is not associate any server;
最后,确认是第3点引起的;即项目的运行时配置没有配置好;
当能够成功运行时,project的属性页--->server有一个Tomcat 7.0 server at localhost;
而Preference-->Server--->Profile;还是No Server profilers registered!
Run time Environments:我没有添加;
这两点,没有关系。
这里用到了javax.servlet.RequestDispatcher;通过HttpServletRequest得到Dispatcher,然后在forward,将Google.htm传出即可。
下面面临的问题就是,怎么访问这个Servlet?
这里就需要理解web.xml;
web.xml有几个主要的功能:
1. servlet的名称和映射;
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
- <servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
所有*.jsf的url访问都会映射到Faces Servlet;而Faces Servlet会映射到类FacesServlet
2. session的设定
<session-config>
<session-timeout>10</session-timeout>
</session-config>
一个session的超时时间;应该是10s;
3.针对环境参数(Context)做初始化工作
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
- <context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
- <context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/ezcomp-taglib.xml</param-value>
</context-param>
编辑我的web.xml,加入servlet-mapping和servlet后,搞定!
这里有一个注意的,就是Eclipse自带的XML编辑器,有servlet-mapping等element的名称提示;我不知道XML编辑器是怎么得到这些的。我的猜测是从web-app的属性xmlns得到的。
此外,在调试过程中,还遇到了dynamic web project不能run的问题;总是提示Server Error: The selection cannot run on any server.
查了一下,有几个不确定的地方:
1. Preference-->Server---->Profile: No server profilers registered!
2. Run time Environments: 要不要添加J2EE的库;网上有文章说要添加;
3. project的属性页-->Server: 提示the project is not associate any server;
最后,确认是第3点引起的;即项目的运行时配置没有配置好;
当能够成功运行时,project的属性页--->server有一个Tomcat 7.0 server at localhost;
而Preference-->Server--->Profile;还是No Server profilers registered!
Run time Environments:我没有添加;
这两点,没有关系。
相关文章推荐
- tomcat javaweb开发基础(8)servlet程序设计(1)
- Java Web开发基础(1)-Servlet
- tomcat javaweb开发基础( 9 servlet(2))
- 10003---JavaWeb开发基础--Servlet
- Java Web开发之Servlet、JSP基础
- tomcat javaweb开发基础(10servlet(3))
- Javaweb基础_servlet开发(一)
- JavaWeb-开发基础-web、环境、jsp、servlet
- 【JAVAWEB基础】JSP & Servlet开发讲解
- JavaWeb开发基础:Servlet登录小实例
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(3)
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(1)
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)
- JSP&Servlet学习笔记(1)Web开发基础理论
- Java Web开发基础(2)-JSP
- 【原创翻译】认识MVC设计模式:web应用开发的基础(基础篇)
- servlet相关笔记(web.xml基础配置)
- web基础 JSP+servlet相关
- 零基础转行学web前端开发好学吗?爱创课堂告诉你