发表于: 2017-10-12 23:07:31
1 702
今天完成的事情:调整了代码 服务端直接使用主函数 打jar包运行
客户端 是使用web容器开启
基本还是昨天的配置 xml
这次试了一下servlet来写一个简单的demo
起始页写了一个超链接 跳转到 update下面的html页面
<br>
<a href="update">我跳</a>
<br>
这个页面 输入数据作为入参
<body>
<h1 align="center">请输入要计算的a b</h1>
<form method="post" action="/add">
请输a
<input name="a"type="number"> <br>
<br>
请输b
<input name="b" type="number">
<br/>
<br/>
<input align="center" type="submit">
</form>
</body>
</html>
然后就是点击提交 根据设置的post /add
web.xml里面写上
<!--内部映射名,内部映射servlet-->
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>com.jnshu.controller.rmiClient</servlet-class>
</servlet>
<!--公共映射名,提供给用户使用的URL名/getUser,使用内部名来进行映射,通过内部名的映射对象即可查找servlet-->
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
整体结构
rmiClient里面要继承httpServlet
不过我这里为了方便增加 新建了一个baseServlet来继承httpservlet 然后rmiClient再继承这个baseServlet
package com.jnshu;
import org.springframework.web.context.support.WebApplicationContextUtils;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class BaseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init() throws ServletException {
super.init();
WebApplicationContextUtils
.getWebApplicationContext(getServletContext())
.getAutowireCapableBeanFactory().autowireBean(this);
}
}
再看rmiClient
@Autowired
private HelloRMIService helloRMIService;
注意在原来的Spring的xml文件里面 开启注解扫描
protected void doPost(HttpServletRequest requset, HttpServletResponse response) throws ServletException, IOException {
a=requset.getParameter("a");
b=requset.getParameter("b");
int q = Integer.parseInt(a);
int w = Integer.parseInt(b);
int i=helloRMIService.getAdd(q,w);
response.getWriter().write(i);
System.out.println(i);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.print("pipikai ="+i);
out.println(" </BODY>");
// out.println( helloRMIService.getAdd(requset,requset));
out.println("</HTML>");
out.flush();
out.close();
}
这里一般都要重写doget或者doPost方法
用getParameter获取请求的参数 Integer.parseInt转化成int
注意一定要使用使用同样的接口 必须完全一致
使用里面的get.add方法 就能通过rmi调取服务端的接口实现
再把获得的数据 返回 到页面上 打印出来
原有的报名系统拆分了一下
明天计划的事情:拆分完毕原有的web
遇到的问题:一直用的springmvc 改用servlet有点不适应
多百度一下 问题都能解决
收获:学习到了servlet的一些用法
预计完成时间:10.14
是否有延期风险:暂无
禅道链接:http://task.ptteng.com/zentao/my-task.htm
评论