Tag: servlets

Angular 4 http CORS没有’Access-Control-Allow-Origin’和一个java servlet

我正在尝试做一个http.post,但chrome显示以下错误: No Access-Control-Allow-Origin。 我的Angularfunction是: onSubmit(event: Event) { event.preventDefault(); this.leerDatos() .subscribe(res => { //datos = res.json(); console.log(“Data send”); }, error => { console.log(error.json()); }); } leerDatos(): Observable { let headers = new Headers({ ‘Content-Type’: ‘application/json’ }); let options = new RequestOptions({ headers: headers }); return this.http.post(`http://localhost:8080/LegoRepositoryVincle/CoreServlet`, { name: “bob” }, options) //.map(this.extractData) //.catch(this.handleError); } 我的servlet doPost方法包括: […]

我如何对servlet进行unit testing?

我有一个名为Calculator的servlet。 它通过在响应中设置属性result来读取left , right和op的参数并返回。 unit testing的最简单方法是什么:基本上我想创建一个HttpServletRequest,设置参数,然后检查响应 – 但我该怎么做? 这是servlet代码(它的目的很小而且很愚蠢): public class Calculator extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { public Calculator() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Integer left = Integer.valueOf(request.getParameter(“left”)); Integer right = Integer.valueOf(request.getParameter(“right”)); Integer result = 0; […]

我如何从响应中获取头文件,因为ServletResponse()。getHeader(string)不可见?

我已经成功设置了httpServletResponse()。setHeader(“custtype”,“permanent”),但当我尝试检索它时,http:// @ getHeader(“custtype”)当我在eclipse中控制+ soace时,我看不到getheader方法但是根据http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html上的文档, 它就在那里。 我不确定为什么在Eclipse中看不到getHeader方法。? 我怎样才能从回复中得到标题?

Servlet处理文件上传,为什么比原来大?

Servlet doPost处理文件上传, InputStream in = req.getInputStream(); File file = new File(“c:/8.dat”); OutputStream out = new FileOutputStream(file); byte[] buffer = new byte[1024]; int len =0; while((len=in.read(buffer))!=-1){ out.write(buffer, 0, len); } bao.close(); out.close(); in.close(); 剂量请求的getInputStream方法获取http头信息? 为什么上传的文件比原始文件大?

在HttpSession中存储JDBC连接

我最近inheritance了一些代码,我在其中发现了一个在filter中初始化的JDBC连接,并为每个用户添加了HttpSession。 然后,在Web应用程序的各个部分中为用户重用该连接。 这立即让我感觉像代码味道。 我想回到编写它的开发人员并解释他为什么不应该这样做……但也许我不太确定自己…… 除了占用内存中不必要的空间并可能限制与数据库的可用连接之外,还有其他原因导致您不在会话中存储JDBC连接吗?

在Jasperreports中从服务器接收多个不同的Content-Disposition标头

我正在尝试设置内容处置标头以响应servlet,但我在浏览器中收到此错误。 我该怎么办? 从服务器收到重复的标头 来自服务器的响应包含重复的标头。 此问题通常是配置错误的网站或代理的结果。 只有网站或代理管理员才能解决此问题。 错误349(net :: ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION):收到多个不同的Content-Disposition标头。 这是不允许防止HTTP响应分裂攻击。 这是我的servlet控制器: @RequestMapping(“/**/paymentOrderReport.pdf”) public class PaymentOrderReportViewController extends org.springframework.web.servlet.mvc.AbstractController { private PaymentDao paymentDao; private JasperPdfView pdfView; @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType(“application/pdf”); response.setHeader(“Content-disposition”, “attachment; filename=” + “report.pdf”); PaymentOrderEntity paymentOrderEntity = null; String traceCode = request.getParameter(ParamConstants.TRACE_CODE); if (traceCode != null) { PaymentSheetRequestEntity payRequestEntity […]

如何从Spring MVC中的请求参数中修剪空格

我很难相信我需要从请求参数中修剪前导空格和尾随空格并不是一个常见的要求,但我似乎找不到任何能够很好地解决它的人。 当然,有一些简单的方法可以配置,例如,Spring WebDataBinder在将它们映射到目标对象之前从参数值中修剪所有空格? 我真的很想知道其他人是如何解决这个问题的。

HttpSessionListener(sessionCreated / destroyed) – 奇怪的行为

我正在尝试使用HttpSessionListener: public class SessionListener implements HttpSessionListener { public void sessionCreated(HttpSessionEvent event) { System.out.println(“ID Session Created: ” + event.getSession().getId()); } public void sessionDestroyed(HttpSessionEvent event) { System.out.println(“ID Session Destroyed: ” + event.getSession().getId()); } } web.xml中: session.SessionListener UserManager.java : @SessionScoped @ManagedBean(name=”userManager”) public class UserManager extends Tools { /**/ private static final long serialVersionUID = -8522314095497978567L; private String username; […]

为什么HttpServletRequest.getRemoteAddr()在Java servlet中不起作用?

我正在开发一个带有java servlet的web应用程序,我希望通过从processRequest(HttpServletRequest request,HttpServletResponse response)调用request.getRemoteAddr()来获取用户ip信息。 但它返回错误的IP。 由于我对这个领域不是很了解,我不知道它在显示什么,也许是代理,我得到了这个: RemoteAddr:127.0.0.1 RemoteHost:127.0.0.1 x-forwarded-for:null 127.0.0.1不是我的IP。 然而,当我去: http://www.javascriptkit.com/script/script2/displayip.shtml : http://www.javascriptkit.com/script/script2/displayip.shtml它将显示正确的一个,因为我使用servlet,我没有.shtml到我的动态生成的HTML页面,我该怎么办? 为什么该站点上的脚本可以正确显示,而request.getRemoteAddr()不能这样做? 感谢所有答案,我现在有了一个线索,在将其部署到服务器后,它按预期工作。 显示正确的地址。 但即使我在本地机器上开发它,如何要求它显示绝对IP,就好像它在真实服务器上运行一样? 还是可行的?

JSP / GlassFish:如何正确设置UTF-8编码

我正在寻求帮助,以便将堆叠中的所有图层转换为UTF-8编码。 我找到了这篇好文章: http://www.javapractices.com/topic/TopicAction.do?Id=206 描述我需要担心编码的3个地方。 由于我的(1)Oracle数据库当前设置为UTF-8,因此需要担心(2)浏览器和(3)服务器。 我也发现了这篇详细的文章 http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html#JSPServletRequest 我正在尝试遵循以下内容,但有一些关于实现的新手问题。 为了解决浏览器问题,我确保在每个JSP页面的顶部包含以下内容: (供参考,见此处 )。 为了解决服务器问题,我确保在发出request.getParameter()或request.getAttribute()语句之前在Java servlet和JSP页面中包含以下行: request.setCharacterEncoding(“UTF-8”); 由于我使用的是GlassFish 3.1.2,我知道它默认不使用UTF-8,因此我需要以某种方式手动设置它。 我见过很多网站都在谈论一个名为glassfish-web.xml的文件。 这是普通glassfish的一部分吗? 我不知道在哪里找到它。 我一直在WEB-INF文件夹中使用web.xml文件作为我的Web应用程序。 有人可以帮我弄清楚我是否需​​要修改这个web.xml文件,或者我是否需要找到或创建一个名为glassfish-web.xml的新文件来配置glassfish的编码? 我的web.xml文件以: … 对于JSP / servlet请求,我在web.xml文件中包含以下行 可以放入web.xml文件吗? 或者,它是否需要进入一些glassfish-web.xml文件? 对于JSP / servlet响应,我将以下内容放在我的web.xml文件中(请参阅此处接受的答案): *.jsp UTF-8 我假设这些行只是在和之间插入。 但是,让我知道他们是否应该进入其他描述符(例如和 )? 我还在JSP 部分中添加了以下内容: 有用的参考: 如何摆脱警告:PWC4011:无法将请求字符编码设置为UTF-8 https://stackoverflow.com/tags/servlet-filters/info https://wikis.oracle.com/display/GlassFish/FaqHttpRequestParameterEncoding