记录一下eclipse中使用MVC的WEB项目出现的奇奇怪怪的问题:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
下面展示一下文件的相对位置,然后直接切入正题
在网上查询了许多案例,最后才明白出现如上问题的原因是WEB-INF文件夹中要有lib文件夹,如果出现上述问题,可以考虑新建一个WEB项目,再把文件复制进去,大概率就解决了。
下面附上源码
inputData.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body bgcolor=cyan>
<font size=2>
<form action="lookAverage" Method="post">
<p>计算两个正数的代数平均值:
<br>输入正数:<input type=text name="firstNumber" size=4>
输入正数:<input type=text name="secondNumber" size=4>
<input type=submit value="提交">
</form>
<form action="lookAverage" Method="get">
<p>计算两个正数的几何平均值:
<br>输入正数:<input type=text name="firstNumber" size=4>
输入正数:<input type=text name="secondNumber" size=4>
<input type=submit value="提交">
</form>
</font>
</body>
</html>
showResult.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="user.yourbean.SaveNumber" %>
<jsp:useBean id="aver" class="user.yourbean.SaveNumber" scope="request"/>
<html>
<body bgcolor=cyan>
<jsp:getProperty name="aver" property="firstNumber"/>与
<jsp:getProperty name="aver" property="secondNumber"/>的
<jsp:getProperty name="aver" property="type"/>
<jsp:getProperty name="aver" property="result"/>
</body>
</html>
SaveNumber.java(class文件通过javac编译)
package classes.user.yourbean;
public class SaveNumber {
double firstNumber,secondNumber;
double result;
String type;
public void setFirstNumber(double a) {
firstNumber = a;
}
public double getFirstNumber() {
return firstNumber;
}
public void setSecondNumber(double a) {
secondNumber = a;
}
public double getSecondNumber() {
return secondNumber;
}
public void setResult(double a) {
result = a;
}
public double getResult() {
return result;
}
public void setType(String a) {
type = a;
}
public String getType() {
return type;
}
}
HandleAverage.java(class文件javac编译)
package classes.user.yourservlet;
import user.yourbean.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleAverage extends HttpServlet{
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
SaveNumber bean=new SaveNumber();
request.setAttribute("aver",bean);
double a = Double.parseDouble(request.getParameter("firstNumber"));
double b = Double.parseDouble(request.getParameter("secondNumber"));
bean.setFirstNumber(a);
bean.setSecondNumber(b);
bean.setType("代数平均值");
//计算代数平均值
double aver = (a+b)/2;
bean.setResult(aver);
RequestDispatcher dispatcher = request.getRequestDispatcher("showResult.jsp");
dispatcher.forward(request,response);//请求showResult.jsp显示bean中的数据
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
SaveNumber bean = new SaveNumber();
request.setAttribute("aver",bean);
double a = Double.parseDouble(request.getParameter("firstNumber"));
double b = Double.parseDouble(request.getParameter("secondNumber"));
bean.setFirstNumber(a);
bean.setSecondNumber(b);
bean.setType("几何平均值");
//计算几何平均值
double aver = Math.sqrt(a*b);
bean.setResult(aver);
RequestDispatcher dispatcher = request.getRequestDispatcher("showResult.jsp");
dispatcher.forward(request,response);
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>computerAverage</servlet-name>
<servlet-class>user.yourservlet.HandleAverage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>computerAverage</servlet-name>
<url-pattern>/lookAverage</url-pattern>
</servlet-mapping>
</web-app>
最后展示一下效果