标签:资源 archetype resource ack cte 项目 rri ons 客户端
1.项目格式:
IDEA中使用archetypeweb的构建就可以生成的,但是在Apple MAC上貌似不能用。IDEA中手动穿件标准的mvn项目,因为有web-app目录,IDEA会提示是否转成WEB项目选是。这里介绍一下WEB项目的目录结构
src/main/java: 放一些servlet之类的java文件
src/main/web-app/
/jsp、/js、/img
/WEB-INF/web.xml
这里的Web.xml是部署文件,指定一些servlet、listener之类的配置。Servlet例子。访问http://domain/webroot/result.do的地址,get将访问servlet的GET方法。如果在Form 中 result.do的 POST时候将自动定位到POST方法。
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>processServlet</servlet-name>
<servlet-class>com.mvnbook.account.web.servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>processServlet</servlet-name>
<url-pattern>/result.do</url-pattern>
</servlet-mapping>
</web-app>
2. 相对路径。
<form url=‘result.do‘></form>
标签中url是submit之后的提交地址,相对于当前Html的路径。 如: 当前Html的路径是 web-app/html/test.html那么提交后的相对地址就是 http://domain/html/test.do 这种情况下去匹配Web.xm中的 servlet是匹配不上的, 因为上述url-pattern是相对于根的。 所以只能是 account-web/result.do这例 account-web是项目的根目录
3. HttpServletRequest和HttpServletResponse对象
关于Request: request 对象的用于获取前端页面的参数 request.getParameter(‘size‘). 也可以获取多个参数request.getParameters(‘size‘)如复选框。
request还可以用来转发, HttpRequestDispature dispature = request.getRequestDispature(‘/jsp文件的路径‘); dispature.forward(requst,response);
关于response: Response 对象用来获取输出流的同时可以设置一些输出格式如 response.setContentType(‘img/jpeg‘); 同时还可以往输出流中塞一些非Html的内容。同时还可以往Response中添加一些header字段、cookie值、甚至Redirect到的其他地址(这里 redirect是返回302让客户端做跳转)
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置输出格式
resp.setContentType("image/jpeg");
//获取输出流
ServletOutputStream out = resp.getOutputStream();
// 读取资源文件
ServletContext sc = getServletContext();
InputStream is = sc.getResourceAsStream("dowload.jpg");
// 向输出流中塞数据
int read =0;
byte[] result = new byte[1024];
while ((read=is.read())!=-1){
out.write(result,0,read);
}
//输出
out.flush();
out.close();
}
标签:资源 archetype resource ack cte 项目 rri ons 客户端
原文地址:http://www.cnblogs.com/ygshen/p/6105540.html