【笔记】Spring MVC学习指南(附录)
2015-10-08 11:06
387 查看
本书附录部分内容有点多,记录下重要的部分。
Tomcat定义上下文:
显式:
1、在conf/Catalina/localhost目录下新建一个xml文件。(xml文件名即为上下文路径)
2、在conf/server.xml文件中添加一个Context元素。
隐式:
1、将war文件或整个应用程序复制到webapps目录下。
Servlet:
1、在ServletResponse中定义的方法getWriter()返回一个可以向客户端发送文本的java.io.PrintWriter,默认情况下,使用编码ISO-8859-1。另一个方法getOutputStream()用来发送二进制数据。
2、经典的HTML表单示例:
3、部署描述符(web.xml)优先级高于WebServlet标注
4、JavaServer Page同时支持JSP注释和HTML注释:
JSP注释:<%-- --%>
HTML注释: <!-- --> (此类注释会被发送到HTML,客户端可见,基于此特性,开发人员可以通过在浏览器查看HTML源代码来确认哪一个JSP页面或片段产生了这段HTML片段)
5、JSP的include指令,URL以斜杠(/)开头,则为绝对路径,否则为相对路径。
6、
<%@ include="xyz" %> 资源引入发生在页面转换时,即当JSP转换为Servlet;
<jsp:include page="xyz.jsp" /> 资源引入发生在请求页面时。
7、jspf格式,会被当做静态文件对待。
最后一小节,详细讲解了部署描述符web.xml的各个知识点,可以当手册查询,就这样。
《SpringMVC学习指南》笔记,完结。
Tomcat定义上下文:
显式:
1、在conf/Catalina/localhost目录下新建一个xml文件。(xml文件名即为上下文路径)
2、在conf/server.xml文件中添加一个Context元素。
<Context path="/demo" docBase="C:/apps/demo" reloadable="true" /> // reloadable为true时,一旦应用程序的Java类文件或其他资源文件改动,会重新加载应用程序
隐式:
1、将war文件或整个应用程序复制到webapps目录下。
Servlet:
1、在ServletResponse中定义的方法getWriter()返回一个可以向客户端发送文本的java.io.PrintWriter,默认情况下,使用编码ISO-8859-1。另一个方法getOutputStream()用来发送二进制数据。
2、经典的HTML表单示例:
package b2; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; @WebServlet(name = "FormServlet", urlPatterns = {"/form"}) public class FormServlet extends HttpServlet { private static final long serialVersionUID = 54L; private static final String TITLE = "Order Form"; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println("<html>"); writer.println("<head>"); writer.println("<title>" + TITLE + "</title></head>"); writer.println("<body><h1>" + TITLE + "</h1>"); writer.println("<form method='post'>"); writer.println("<table>"); writer.println("<tr>"); writer.println("<td>Name:</td>"); writer.println("<td><input name='name'/></td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Address:</td>"); writer.println("<td><textarea name='address' " + "cols='40' rows='5'></textarea></td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Country:</td>"); writer.println("<td><select name='country'>"); writer.println("<option>United States</option>"); writer.println("<option>Canada</option>"); writer.println("</select></td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Delivery Method:</td>"); writer.println("<td><input type='radio' " + "name='deliveryMethod'" + " value='First Class'/>First Class"); writer.println("<input type='radio' " + "name='deliveryMethod' " + "value='Second Class'/>Second Class</td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Shipping Instructions:</td>"); writer.println("<td><textarea name='instruction' " + "cols='40' rows='5'></textarea></td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td> </td>"); writer.println("<td><textarea name='instruction' " + "cols='40' rows='5'></textarea></td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Please send me the latest " + "product catalog:</td>"); writer.println("<td><input type='checkbox' " + "name='catalogRequest'/></td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td> </td>"); writer.println("<td><input type='reset'/>" + "<input type='submit'/></td>"); writer.println("</tr>"); writer.println("</table>"); writer.println("</form>"); writer.println("</body>"); writer.println("</html>"); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println("<html>"); writer.println("<head>"); writer.println("<title>" + TITLE + "</title></head>"); writer.println("</head>"); writer.println("<body><h1>" + TITLE + "</h1>"); writer.println("<table>"); writer.println("<tr>"); writer.println("<td>Name:</td>"); writer.println("<td>" + request.getParameter("name") + "</td>"); // 输入域名称存在的话,如果未填,返回空字符串而不是null writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Address:</td>"); writer.println("<td>" + request.getParameter("address") + "</td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Country:</td>"); writer.println("<td>" + request.getParameter("country") + "</td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Shipping Instructions:</td>"); writer.println("<td>"); String[] instructions = request.getParameterValues("instruction"); if (instructions != null) { for (String instruction : instructions) { writer.println(instruction + "<br/>"); } } writer.println("</td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Delivery Method:</td>"); writer.println("<td>" + request.getParameter("deliveryMethod") + "</td>"); writer.println("</tr>"); writer.println("<tr>"); writer.println("<td>Catalog Request:</td>"); writer.println("<td>"); if (request.getParameter("catalogRequest") == null) { writer.println("No"); } else { writer.println("Yes"); } writer.println("</td>"); writer.println("</tr>"); writer.println("</table>"); writer.println("<div style='border:1px solid #ddd;" + "margin-top:40px;font-size:90%'>"); writer.println("Debug Info<br/>"); Enumeration<String> parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String paramName = parameterNames.nextElement(); writer.println(paramName + ": "); String[] paramValues = request.getParameterValues(paramName); for (String paramValue : paramValues) { writer.println(paramValue + "<br/>"); } } writer.println("</div>"); writer.println("</body>"); writer.println("</html>"); } }
3、部署描述符(web.xml)优先级高于WebServlet标注
4、JavaServer Page同时支持JSP注释和HTML注释:
JSP注释:<%-- --%>
HTML注释: <!-- --> (此类注释会被发送到HTML,客户端可见,基于此特性,开发人员可以通过在浏览器查看HTML源代码来确认哪一个JSP页面或片段产生了这段HTML片段)
5、JSP的include指令,URL以斜杠(/)开头,则为绝对路径,否则为相对路径。
6、
<%@ include="xyz" %> 资源引入发生在页面转换时,即当JSP转换为Servlet;
<jsp:include page="xyz.jsp" /> 资源引入发生在请求页面时。
7、jspf格式,会被当做静态文件对待。
最后一小节,详细讲解了部署描述符web.xml的各个知识点,可以当手册查询,就这样。
《SpringMVC学习指南》笔记,完结。
相关文章推荐
- Java EE学习步骤
- [java学习笔记]一切都是对象
- java_web 记录用户自动登录用户密码 模块的实现
- JAVA IDE IntelliJ IDEA使用简介(三)—之你不能忘记的快捷键
- JAVA IDE IntelliJ IDEA使用简介(二)—之基本操作
- JAVA IDE IntelliJ IDEA使用简介(一)—之界面元素
- JAVA设计模式之单例模式
- Java-判断页面过来的请求方式
- 使用Java调用以WSDL形式发布的web service
- 设计模式之Iterator:简单模拟java中集合类的实现
- Java开发和运行环境的搭建
- Java——多线程总结及ThreadLocal、Volatile、synchronized、Atomic四个关键字
- Java值传递与引用传递
- java线程模拟生产者消费者问题
- java 接口 实现和继承关系
- 多个项目MyEclipse中启动出现OutOfMemoryError: PermGen space如何解决
- java报表MyEclipse部署FineReport
- 学Java你得按照它的规则来--java关键字标识符等
- Java基本类型与引用类型
- eclipse 调试时出现 Error: [Errno 10013]